@import url(https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Manrope:wght@400;500;600;700;800&display=swap);:root{--color-background:#f8fafc;--color-surface:#fff;--color-surface-secondary:#f1f5f9;--color-surface-elevated:#fff;--color-primary:#3b82f6;--color-primary-light:#60a5fa;--color-primary-dark:#2563eb;--color-primary-muted:#dbeafe;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-tertiary:#64748b;--color-text-muted:#94a3b8;--color-border:#e2e8f0;--color-border-subtle:#f1f5f9;--color-border-focus:#3b82f6;--color-hover:#3b82f614;--color-focus:#3b82f6;--color-disabled:#cbd5e1;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-error-bg:#fef2f2;--color-error-border:#fecaca;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem;--space-10:4rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000012;--shadow-lg:0 10px 15px #0000001a;--shadow-xl:0 20px 25px #00000026;--font-size-xs:clamp(0.625rem,0.6rem + 0.15vw,0.75rem);--font-size-sm:clamp(0.75rem,0.7rem + 0.2vw,0.875rem);--font-size-base:clamp(0.875rem,0.825rem + 0.25vw,1rem);--font-size-lg:clamp(1rem,0.95rem + 0.3vw,1.125rem);--font-size-xl:clamp(1.125rem,1.05rem + 0.4vw,1.5rem);--font-size-2xl:clamp(1.5rem,1.4rem + 0.6vw,2rem);--sidebar-width:clamp(280px,22vw,340px);--sidebar-width-collapsed:48px;--touch-target-min:44px;--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:350ms ease;--z-base:1;--z-dropdown:10;--z-overlay:20;--z-modal:30;--z-tooltip:40}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-background);color:var(--color-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:var(--font-size-base);line-height:1.6;margin:0}code{background-color:var(--color-surface-secondary);border-radius:var(--radius-sm);color:var(--color-primary-light);font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;padding:.125rem .375rem}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}::-webkit-scrollbar{height:12px;width:12px}::-webkit-scrollbar-track{background:var(--color-surface-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-md)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.maplibregl-map{-webkit-tap-highlight-color:rgb(0 0 0/0);font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:initial;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:initial}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.maplibregl-ctrl button:not(:disabled):hover{background-color:#0000000d}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85) scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85) scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85) scale(.88807)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85) scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85) scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85) scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85) scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85) scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85) scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:initial;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:#0000000d}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:#000000bf;text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid #0000;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:initial;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:#0000000d}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:#0006;color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(max-width:480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}.user-menu{position:relative}.user-menu-login-btn{background:#06c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 20px;transition:all .2s}.user-menu-login-btn:hover{background:#0052a3;box-shadow:0 4px 8px #0066cc4d;transform:translateY(-1px)}.user-menu-trigger{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:100px;cursor:pointer;display:flex;gap:10px;padding:6px 12px 6px 6px;transition:all .2s}.user-menu-trigger:hover{border-color:#06c;box-shadow:0 2px 8px #0000001a}.user-avatar{align-items:center;background:#06c;border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;overflow:hidden;width:32px}.user-avatar img{height:100%;object-fit:cover;width:100%}.user-name{color:#333;font-size:14px;font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-chevron{color:#666;transition:transform .2s}.user-menu-chevron.open{transform:rotate(180deg)}.user-menu-dropdown{animation:dropdownSlide .2s ease-out;background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 8px 24px #0000001f;min-width:220px;padding:8px;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{padding:12px}.user-menu-name{color:#1a1a1a;font-size:15px;font-weight:600;margin-bottom:4px}.user-menu-email{color:#666;font-size:13px}.user-menu-divider{background:#e0e0e0;height:1px;margin:8px 0}.user-menu-item{align-items:center;background:none;border:none;border-radius:8px;color:#333;cursor:pointer;display:flex;font-size:14px;gap:12px;padding:10px 12px;text-align:left;transition:all .15s;width:100%}.user-menu-item:hover{background:#f5f5f5}.user-menu-item svg{color:#666;flex-shrink:0}.user-menu-item.logout,.user-menu-item.logout svg{color:#e53935}.user-menu-item.logout:hover{background:#fee}.auth-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.auth-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:440px;overflow-y:auto;padding:32px;position:relative;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-modal-close{background:none;border:none;color:#999;cursor:pointer;font-size:32px;line-height:1;padding:4px 8px;position:absolute;right:16px;top:16px;transition:color .2s}.auth-modal-close:hover{color:#333}.auth-modal-header{margin-bottom:32px}.auth-modal-header h2{color:#1a1a1a;font-size:28px;font-weight:700;margin:0 0 8px}.auth-modal-header p{color:#666;font-size:15px;margin:0}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-error{background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:14px;padding:12px 16px}.auth-field{display:flex;flex-direction:column;gap:8px}.auth-field label{color:#333;font-size:14px;font-weight:600}.auth-field input{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:15px;padding:12px 16px;transition:all .2s}.auth-field input:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.auth-field input::placeholder{color:#999}.auth-field small{color:#666;font-size:13px;margin-top:-4px}.auth-submit{background:#06c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px 24px;transition:all .2s}.auth-submit:hover:not(:disabled){background:#0052a3;box-shadow:0 4px 12px #0066cc4d;transform:translateY(-1px)}.auth-submit:disabled{cursor:not-allowed;opacity:.6}.auth-divider{margin:20px 0;position:relative;text-align:center}.auth-divider:before{background:#e0e0e0;content:"";height:1px;left:0;position:absolute;right:0;top:50%}.auth-divider span{background:#fff;color:#999;font-size:13px;font-weight:600;padding:0 16px;position:relative;z-index:1}.auth-google-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#333;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:12px;justify-content:center;padding:12px 24px;transition:all .2s;width:100%}.auth-google-btn:hover:not(:disabled){background:#f8f9fa;border-color:#06c;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.auth-google-btn:disabled{cursor:not-allowed;opacity:.6}.auth-google-btn svg{flex-shrink:0}.auth-switch{border-top:1px solid #e0e0e0;margin-top:24px;padding-top:24px;text-align:center}.auth-switch p{color:#666;font-size:14px;margin:0}.auth-switch button{background:none;border:none;color:#06c;cursor:pointer;font-size:inherit;font-weight:600;padding:0;text-decoration:underline}.auth-switch button:hover{color:#0052a3}.save-session-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.save-session-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;padding:32px;position:relative;width:90%}.save-session-close{background:none;border:none;color:#999;cursor:pointer;font-size:32px;line-height:1;padding:4px 8px;position:absolute;right:16px;top:16px;transition:color .2s}.save-session-close:hover{color:#333}.save-session-header{align-items:center;display:flex;flex-direction:column;margin-bottom:24px;text-align:center}.save-session-header svg{color:#06c;margin-bottom:12px}.save-session-header h2{color:#1a1a1a;font-size:24px;font-weight:700;margin:0 0 8px}.save-session-header p{color:#666;font-size:14px;margin:0}.save-session-form{display:flex;flex-direction:column;gap:20px}.save-session-error{background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:14px;padding:12px 16px}.save-session-field{display:flex;flex-direction:column;gap:8px}.save-session-field label{color:#333;font-size:14px;font-weight:600}.save-session-field input,.save-session-field select,.save-session-field textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:15px;padding:12px 16px;transition:all .2s}.save-session-field input:focus,.save-session-field select:focus,.save-session-field textarea:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.save-session-field textarea{min-height:80px;resize:vertical}.save-session-field small{color:#666;font-size:13px;margin-top:-4px}.save-session-actions{display:flex;gap:12px;margin-top:8px}.save-session-cancel,.save-session-submit{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s}.save-session-cancel{background:#f5f5f5;color:#666}.save-session-cancel:hover:not(:disabled){background:#e0e0e0}.save-session-submit{background:#06c;color:#fff}.save-session-submit:hover:not(:disabled){background:#0052a3;box-shadow:0 4px 12px #0066cc4d;transform:translateY(-1px)}.save-session-cancel:disabled,.save-session-submit:disabled{cursor:not-allowed;opacity:.6}.sessions-panel-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.sessions-panel{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:900px;width:90%}.sessions-panel-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:24px 32px}.sessions-panel-header h2{color:#1a1a1a;font-size:24px;font-weight:700;margin:0}.sessions-panel-close{background:none;border:none;color:#999;cursor:pointer;font-size:32px;line-height:1;padding:4px 8px;transition:color .2s}.sessions-panel-close:hover{color:#333}.sessions-panel-content{flex:1 1;overflow-y:auto;padding:24px 32px}.sessions-empty,.sessions-error,.sessions-loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:48px 24px;text-align:center}.sessions-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#06c;height:48px;margin-bottom:16px;width:48px}.sessions-empty svg{color:#ccc;margin-bottom:16px}.sessions-empty h3{color:#333;font-size:20px;margin:0 0 8px}.sessions-empty p{color:#666;margin:0}.sessions-error button{background:#06c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;margin-top:16px;padding:10px 24px}.sessions-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.session-card{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:12px;padding:20px;transition:all .2s}.session-card:hover{border-color:#06c;box-shadow:0 4px 12px #00000014}.session-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.session-card-header h3{color:#1a1a1a;flex:1 1;font-size:18px;font-weight:600;margin:0}.session-visibility{flex-shrink:0;font-size:18px}.session-description{color:#666;font-size:14px;line-height:1.5;margin:0 0 16px}.session-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:16px}.session-stat{display:flex;flex-direction:column;gap:4px}.session-stat-label{color:#999;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.session-stat-value{color:#333;font-size:15px;font-weight:600}.session-actions{border-top:1px solid #e0e0e0;display:flex;gap:8px;padding-top:16px}.session-action-btn{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s}.session-action-btn.load{background:#06c;color:#fff}.session-action-btn.load:hover{background:#0052a3;transform:translateY(-1px)}.session-action-btn.delete{background:#fff;border:1px solid #e53935;color:#e53935}.session-action-btn.delete:hover{background:#fee}.session-thumbnail{border-radius:12px 12px 0 0;margin:-20px -20px 16px;overflow:hidden}.session-thumbnail-img{display:block;height:140px;object-fit:cover;width:100%}.session-polar-percent{font-weight:700}.tools-dropdown{display:inline-flex;position:relative}.tools-dropdown-trigger{align-items:center;cursor:pointer;display:inline-flex;gap:var(--space-2)}.tools-dropdown-chevron{transition:transform .2s ease}.tools-dropdown-chevron.open{transform:rotate(180deg)}.tools-dropdown-menu{animation:toolsDropdownSlide .18s ease-out;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--space-1);left:0;min-width:220px;padding:var(--space-2);position:absolute;top:calc(100% + var(--space-2));z-index:calc(var(--z-dropdown) + 5)}@keyframes toolsDropdownSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tools-dropdown-item{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--color-text-primary);cursor:pointer;font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);text-align:left;transition:background .15s ease}.tools-dropdown-item:hover{background:var(--color-surface-secondary)}.tools-dropdown-item.is-active{background:var(--color-primary);color:#fff}.boat-card{background:var(--elevated-surface);border:1px solid var(--border-color);cursor:pointer;transition:all .2s ease}.boat-card:hover{border-color:var(--accent);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.boat-card-content{align-items:center;display:flex;gap:16px}.boat-card-photo{background:var(--surface);border-radius:10px;flex-shrink:0;height:80px;overflow:hidden;width:80px}.boat-card-photo img{height:100%;object-fit:cover;width:100%}.boat-card-photo-placeholder{align-items:center;color:var(--text-muted);display:flex;justify-content:center}.boat-card-photo-placeholder svg{height:32px;width:32px}.boat-card-info{flex:1 1;min-width:0}.boat-card-name{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0 0 4px}.boat-card-subtitle{color:var(--text-muted);font-size:.9rem;margin:0 0 8px}.boat-card-stats{display:flex;gap:16px;margin-bottom:8px}.boat-card-stat{align-items:center;color:var(--text-secondary);display:flex;font-size:.85rem;gap:4px}.boat-card-stat svg{height:14px;width:14px}.boat-card-primary-polar{margin-top:4px}.polar-badge{background:var(--accent-light);border-radius:6px;color:var(--accent);display:inline-block;font-size:.8rem;font-weight:500;padding:4px 8px}.boat-card-arrow{color:var(--text-muted);flex-shrink:0}.boat-card-arrow svg{height:20px;width:20px}.boat-card:hover .boat-card-arrow{color:var(--accent)}:root{--brand-font:"Manrope","Segoe UI",sans-serif;--display-font:"DM Serif Display",Georgia,serif;--ocean-deep:#0a1628;--ocean-medium:#1a3a5c;--ocean-light:#2d5a87;--foam-white:#f8fbff;--sand-warm:#f5e6d3;--gold-accent:#d4a853;--gold-light:#f0d799;--coral-accent:#e86f5c;--sea-green:#2dc89d}.app-shell{background:var(--color-background);color:var(--color-text-primary);font-family:Manrope,Segoe UI,sans-serif;font-family:var(--brand-font);min-height:100vh}.top-nav{grid-gap:var(--space-4);align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffdb;border-bottom:1px solid var(--color-border);display:grid;gap:var(--space-4);grid-template-columns:1fr auto auto;padding:16px 32px;position:sticky;top:0;z-index:10}.top-nav-brand{align-items:center;cursor:pointer;display:flex;gap:12px}.top-nav-brand img{height:46px;width:auto}.brand-text{display:flex;flex-direction:column;line-height:1.2}.brand-title{font-weight:800;letter-spacing:.4px}.brand-tagline{color:var(--color-text-secondary);font-size:13px}.top-nav-links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.top-nav-link{background:#0000;border:none;border-radius:999px;color:var(--color-text-primary);cursor:pointer;font-weight:600;padding:10px 14px;transition:all .2s ease}.top-nav-link:hover{background:var(--color-surface-secondary)}.top-nav-link.is-active{background:var(--color-primary);box-shadow:0 6px 20px #0d6efd38;color:#fff}.top-nav-actions .cta-btn{background:#2dc89d;border:none;border-radius:999px;color:#0b2f28;cursor:pointer;font-weight:700;padding:10px 18px}.page-container{margin:0 auto;max-width:1160px;padding:40px 32px 64px}.page{display:flex;flex-direction:column;gap:28px}.page-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.page-header h1{margin:4px 0}.eyebrow{font-size:12px;letter-spacing:.12em;margin:0;text-transform:uppercase}.eyebrow,.sub{color:var(--color-text-secondary)}.sub{margin:6px 0 0;max-width:720px}.btn{border-radius:10px;font-weight:700;padding:12px 16px}.btn.primary{background:var(--color-primary);color:#fff}.btn.ghost{background:var(--color-surface-secondary);color:var(--color-text-primary)}.btn.apple,.btn.google,.btn.primary{width:100%}.chip{border:1px solid var(--color-border);border-radius:999px;font-size:12px;padding:6px 10px}.chip.success{background:#e8fff4;border-color:#34c38f;color:#1f8a64}.chip.muted{background:var(--color-surface-secondary);color:var(--color-text-secondary)}.chip.ghost{background:#0000}.stats-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stats-cards.wide{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stat-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-sm);padding:16px}.stat-card.big h2{font-size:32px}.stat-card .label{color:var(--color-text-secondary);margin:0}.stat-card h2{margin:6px 0 4px}.stat-card .hint{color:var(--color-text-tertiary);margin:0}.stats-chart{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:16px;padding:16px}.chart-head{align-items:center;display:flex;justify-content:space-between}.bar-chart{grid-gap:10px;align-items:end;display:grid;gap:10px;grid-template-columns:repeat(12,1fr);margin-top:16px;min-height:200px}.bar{align-items:center;display:flex;flex-direction:column;gap:8px}.bar-fill{background:linear-gradient(180deg,var(--color-primary-light),var(--color-primary));border-radius:8px 8px 4px 4px;min-height:6px;width:100%}.bar-label{color:var(--color-text-secondary);font-size:12px}.list-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:16px;padding:16px}.list-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.list-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.session-row-wrapper{align-items:center;border:1px solid var(--color-border);border-radius:12px;cursor:pointer;display:flex;gap:16px;margin-bottom:10px;padding:12px;transition:background-color .12s ease,border-color .12s ease,transform .12s ease}.session-row-wrapper:hover{background:#f6f8fb;background:var(--color-surface-muted,#f6f8fb);border-color:var(--color-primary);transform:translateY(-1px)}.session-row-wrapper:active{transform:translateY(0)}.session-row-wrapper .session-thumbnail{align-items:center;background:#f6f8fb;background:var(--color-surface-muted,#f6f8fb);border-radius:8px;display:flex;flex-shrink:0;height:90px;justify-content:center;margin:0;overflow:hidden;width:120px}.session-row-wrapper .session-thumbnail img{display:block;height:100%;object-fit:contain;width:100%}.session-row-wrapper .session-row{border:none;cursor:inherit;flex:1 1;margin-bottom:0;padding:0}.session-row-wrapper .session-row:hover{background:#0000;border-color:#0000;transform:none}.session-row{border:1px solid var(--color-border);border-radius:12px;cursor:pointer;margin-bottom:10px;padding:12px;transition:background-color .12s ease,border-color .12s ease,transform .12s ease}.session-row:hover{background:#f6f8fb;background:var(--color-surface-muted,#f6f8fb);border-color:var(--color-primary);transform:translateY(-1px)}.session-row:active{transform:translateY(0)}.strong{font-weight:700}.landing-page{overflow:hidden}.landing-page .landing-hero{align-items:center;background:linear-gradient(135deg,#0a1628,#1a3a5c 50%,#2d5a87);background:linear-gradient(135deg,var(--ocean-deep) 0,var(--ocean-medium) 50%,var(--ocean-light) 100%);display:flex;margin:-40px -32px 0;min-height:85vh;overflow:hidden;padding:80px 48px;position:relative}.landing-hero:before{background:radial-gradient(ellipse 80% 50% at 80% 50%,#2dc89d26 0,#0000 50%),radial-gradient(ellipse 60% 80% at 20% 80%,#d4a8531a 0,#0000 40%);top:0}.landing-hero:after,.landing-hero:before{bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0}.landing-hero:after{background:linear-gradient(to top,var(--color-background),#0000);height:200px}.hero-content-wrapper{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:1.1fr 1fr;margin:0 auto;max-width:1400px;position:relative;width:100%;z-index:2}.landing-hero .hero-visual{animation:heroImageFloat 6s ease-in-out infinite;border-radius:24px;box-shadow:0 25px 80px #0006,0 0 0 1px #ffffff1a;overflow:hidden;position:relative;transform:perspective(1000px) rotateY(-5deg) rotateX(2deg);transition:transform .6s cubic-bezier(.23,1,.32,1)}.landing-hero .hero-visual:hover{transform:perspective(1000px) rotateY(0deg) rotateX(0deg) scale(1.02)}@keyframes heroImageFloat{0%,to{transform:perspective(1000px) rotateY(-5deg) rotateX(2deg) translateY(0)}50%{transform:perspective(1000px) rotateY(-5deg) rotateX(2deg) translateY(-10px)}}.hero-visual img{display:block;height:100%;object-fit:cover;transition:transform .6s ease;width:100%}.hero-visual:hover img{transform:scale(1.05)}.hero-visual .hero-overlay{border-radius:14px;bottom:12px;box-shadow:var(--shadow-lg);position:absolute;right:12px;width:52%}.hero-decoration{pointer-events:none;position:absolute}.hero-decoration.compass{animation:compassSpin 20s linear infinite;border:2px solid #d4a8534d;border-radius:50%;height:120px;right:5%;top:10%;width:120px}.hero-decoration.compass:before{background:linear-gradient(90deg,#0000,#d4a853,#0000);background:linear-gradient(90deg,#0000,var(--gold-accent),#0000);content:"";height:2px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:60%}@keyframes compassSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.hero-decoration.wave{bottom:15%;height:60px;left:-5%;opacity:.2;width:200px}.hero-decoration.wave svg{fill:none;stroke:#f0d799;stroke:var(--gold-light);stroke-width:2;height:100%;width:100%}.hero-card{animation:heroCardSlideIn .8s cubic-bezier(.23,1,.32,1) forwards;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #ffffff4d;border-radius:28px;box-shadow:0 30px 60px #0000004d,inset 0 1px 0 #ffffff80;opacity:0;overflow:hidden;padding:48px;position:relative;transform:translateY(40px)}@keyframes heroCardSlideIn{to{opacity:1;transform:translateY(0)}}.hero-card:before{background:linear-gradient(90deg,#2dc89d,#d4a853,#e86f5c);background:linear-gradient(90deg,var(--sea-green),var(--gold-accent),var(--coral-accent));content:"";height:4px;left:0;position:absolute;right:0;top:0}.hero-card h1{color:#0a1628;color:var(--ocean-deep);font-family:"DM Serif Display",Georgia,serif;font-family:var(--display-font);font-size:clamp(2rem,4vw,2.8rem);font-weight:400;letter-spacing:-.02em;line-height:1.15;margin:0 0 20px}.hero-subtitle{color:#1a3a5c;color:var(--ocean-medium);font-size:1.15rem;line-height:1.6;margin:0}.hero-actions{display:flex;flex-direction:column;gap:14px;margin:32px 0 24px}.hero-actions .auth-google-btn{align-items:center;background:#fff;border:2px solid var(--color-border);border-radius:14px;color:#0a1628;color:var(--ocean-deep);cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:12px;justify-content:center;overflow:hidden;padding:16px 28px;position:relative;transition:all .3s cubic-bezier(.23,1,.32,1)}.hero-actions .auth-google-btn:hover{border-color:#1a3a5c;border-color:var(--ocean-medium);box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.hero-actions .btn.primary{background:linear-gradient(135deg,#2dc89d,#25a882);background:linear-gradient(135deg,var(--sea-green) 0,#25a882 100%);border:none;border-radius:14px;box-shadow:0 4px 20px #2dc89d66;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:16px 28px;transition:all .3s cubic-bezier(.23,1,.32,1)}.hero-actions .btn.primary:hover{box-shadow:0 8px 30px #2dc89d80;transform:translateY(-3px)}.hero-links{border-top:1px solid #0000000f;display:flex;flex-wrap:wrap;gap:24px;padding-top:8px}.link-btn{background:#0000;border:none;color:#1a3a5c;color:var(--ocean-medium);cursor:pointer;font-size:.95rem;font-weight:600;padding:4px 0;position:relative;transition:color .2s}.link-btn:after{background:#2dc89d;background:var(--sea-green);bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .3s cubic-bezier(.23,1,.32,1);width:0}.link-btn:hover{color:#0a1628;color:var(--ocean-deep)}.link-btn:hover:after{width:100%}.link-btn.ghost{color:var(--color-text-secondary)}.link-btn.ghost:after{background:#d4a853;background:var(--gold-accent)}.landing-features{padding:80px 0;position:relative}.landing-features-header{margin-bottom:60px;text-align:center}.landing-features-header .eyebrow{background:linear-gradient(135deg,#2dc89d1a,#d4a8531a);border-radius:100px;color:#1a3a5c;color:var(--ocean-medium);display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.15em;margin-bottom:16px;padding:8px 16px}.landing-features-header h2{color:#0a1628;color:var(--ocean-deep);font-family:"DM Serif Display",Georgia,serif;font-family:var(--display-font);font-size:clamp(1.8rem,3vw,2.4rem);margin:0}.landing-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(4,1fr)}.grid-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:20px;box-shadow:0 4px 20px #0000000a;cursor:default;overflow:hidden;padding:32px 28px;position:relative;transition:all .4s cubic-bezier(.23,1,.32,1)}.grid-card:before{background:linear-gradient(90deg,#2dc89d,#d4a853);background:linear-gradient(90deg,var(--sea-green),var(--gold-accent));content:"";height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.23,1,.32,1)}.grid-card:hover{border-color:#0000;box-shadow:0 20px 40px #0000001a;transform:translateY(-8px)}.grid-card:hover:before{transform:scaleX(1)}.grid-card-icon{align-items:center;border-radius:16px;display:flex;font-size:28px;height:56px;justify-content:center;margin-bottom:20px;transition:transform .4s cubic-bezier(.23,1,.32,1);width:56px}.grid-card:hover .grid-card-icon{transform:scale(1.1) rotate(-5deg)}.grid-card:first-child .grid-card-icon{background:linear-gradient(135deg,#2dc89d26,#2dc89d0d);color:#2dc89d;color:var(--sea-green)}.grid-card:nth-child(2) .grid-card-icon{background:linear-gradient(135deg,#d4a85326,#d4a8530d);color:#d4a853;color:var(--gold-accent)}.grid-card:nth-child(3) .grid-card-icon{background:linear-gradient(135deg,#e86f5c26,#e86f5c0d);color:#e86f5c;color:var(--coral-accent)}.grid-card:nth-child(4) .grid-card-icon{background:linear-gradient(135deg,#1a3a5c26,#1a3a5c0d);color:#1a3a5c;color:var(--ocean-medium)}.grid-card h3{color:#0a1628;color:var(--ocean-deep);font-family:"DM Serif Display",Georgia,serif;font-family:var(--display-font);font-size:1.3rem;font-weight:400;margin:0 0 12px}.grid-card p{color:var(--color-text-secondary);font-size:.95rem;line-height:1.6;margin:0}.landing-stats{border-bottom:1px solid var(--color-border);border-top:1px solid var(--color-border);display:flex;gap:80px;justify-content:center;margin:40px 0;padding:60px 0}.landing-stat{text-align:center}.landing-stat-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0a1628,#1a3a5c);background:linear-gradient(135deg,var(--ocean-deep),var(--ocean-medium));-webkit-background-clip:text;background-clip:text;color:#0a1628;color:var(--ocean-deep);font-family:"DM Serif Display",Georgia,serif;font-family:var(--display-font);font-size:3rem;line-height:1;margin-bottom:8px}.landing-stat-label{color:var(--color-text-secondary);font-size:.9rem;letter-spacing:.1em;text-transform:uppercase}.landing-cta{background:linear-gradient(135deg,#0a1628,#1a3a5c);background:linear-gradient(135deg,var(--ocean-deep) 0,var(--ocean-medium) 100%);border-radius:32px;margin-top:40px;overflow:hidden;padding:80px 40px;position:relative;text-align:center}.landing-cta:before{background:radial-gradient(circle at 20% 80%,#2dc89d33,#0000 40%),radial-gradient(circle at 80% 20%,#d4a85326,#0000 40%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.landing-cta h2{color:#fff;font-family:"DM Serif Display",Georgia,serif;font-family:var(--display-font);font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 16px;position:relative;z-index:1}.landing-cta p{color:#fffc;font-size:1.1rem;margin:0 0 32px;position:relative;z-index:1}.landing-cta .btn{align-items:center;background:#fff;border:none;border-radius:14px;color:#0a1628;color:var(--ocean-deep);cursor:pointer;display:inline-flex;font-size:1.05rem;font-weight:700;gap:10px;padding:18px 36px;position:relative;transition:all .3s cubic-bezier(.23,1,.32,1);z-index:1}.landing-cta .btn:hover{box-shadow:0 15px 40px #0000004d;transform:translateY(-3px) scale(1.02)}@media (max-width:1100px){.landing-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:960px){.landing-page .landing-hero{min-height:auto;padding:60px 24px}.hero-content-wrapper{gap:40px;grid-template-columns:1fr}.landing-hero .hero-visual{animation:none;margin:0 auto;max-width:500px;transform:none}.hero-card{padding:32px}.landing-stats{flex-wrap:wrap;gap:40px}}@media (max-width:600px){.landing-grid{grid-template-columns:1fr}.hero-card h1{font-size:1.8rem}.landing-cta{border-radius:20px;padding:50px 24px}}.faq{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.faq-item{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:14px;padding:16px}.feed-list{gap:16px;max-width:620px}.feed-card,.feed-list{display:flex;flex-direction:column}.feed-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:14px;gap:10px;padding:16px}.feed-card-header{align-items:center;display:flex;gap:10px}.feed-card-avatar{flex-shrink:0}.feed-card-avatar img{border-radius:50%;height:40px;object-fit:cover;width:40px}.feed-card-avatar-placeholder{align-items:center;background:var(--color-primary);border-radius:50%;color:#fff;display:flex;font-size:16px;font-weight:700;height:40px;justify-content:center;width:40px}.feed-card-header-info{display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.feed-card-username{font-size:14px;font-weight:600}.feed-card-meta,.feed-card-time{color:var(--color-text-secondary);font-size:12px}.feed-card-time{margin-left:auto;white-space:nowrap}.feed-card-title{font-size:17px;font-weight:700;margin:2px 0 0}.feed-card-body{align-items:flex-start;display:flex;gap:16px}.feed-card-stats{display:flex;flex:1 1;gap:20px}.feed-card-stat{display:flex;flex-direction:column;gap:2px}.feed-card-stat-label{color:var(--color-text-secondary);font-size:11px;letter-spacing:.03em;text-transform:uppercase}.feed-card-stat-value{font-size:16px;font-weight:700}.feed-card-thumbnail{background:var(--color-surface-secondary);border-radius:8px;flex-shrink:0;height:100px;overflow:hidden;width:100px}.feed-card-thumbnail img{height:100%;object-fit:cover;width:100%}.feed-card-tags{display:flex;flex-wrap:wrap;gap:6px}.chip.small{font-size:10px;padding:2px 6px}.feed-card-engagement{border-top:1px solid var(--color-border);color:var(--color-text-secondary);display:flex;font-size:13px;gap:12px;padding-top:2px;position:relative}.feed-likes-toggle{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.feed-likes-toggle:hover{color:var(--color-text-primary)}.likes-popup{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:10px;bottom:calc(100% + 6px);box-shadow:0 4px 16px #0000001f;display:flex;flex-direction:column;left:0;max-height:260px;min-width:220px;overflow:hidden;position:absolute;z-index:10}.likes-popup-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;font-size:13px;font-weight:600;justify-content:space-between;padding:8px 12px}.likes-popup-close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:18px;line-height:1;padding:0 2px}.likes-popup-close:hover{color:var(--color-text-primary)}.likes-popup-empty,.likes-popup-loading{color:var(--color-text-secondary);font-size:13px;padding:16px;text-align:center}.likes-popup-list{list-style:none;margin:0;overflow-y:auto;padding:4px 0}.likes-popup-user{align-items:center;display:flex;gap:8px;padding:6px 12px}.likes-popup-user:hover{background:var(--color-surface-secondary)}.likes-popup-avatar{object-fit:cover}.likes-popup-avatar,.likes-popup-avatar-placeholder{border-radius:50%;flex-shrink:0;height:28px;width:28px}.likes-popup-avatar-placeholder{align-items:center;background:var(--color-primary);color:#fff;display:flex;font-size:12px;font-weight:600;justify-content:center}.likes-popup-name{font-size:13px;font-weight:500}.feed-card-actions{border-top:1px solid var(--color-border);display:flex;gap:8px;padding-top:8px}.feed-action-btn{background:none;border:none;border-radius:6px;color:var(--color-text-secondary);cursor:pointer;font-size:13px;padding:4px 10px;transition:background .15s,color .15s}.feed-action-btn:hover{background:var(--color-surface-secondary);color:var(--color-text-primary)}.feed-action-btn.liked{color:#e74c3c}.feed-card-last-comment{font-size:13px;line-height:1.4}.feed-comment-author{font-weight:600;margin-right:6px}.feed-comment-text{color:var(--color-text-secondary)}.feed-card-comment-input{align-items:center;display:flex;gap:8px}.feed-card-comment-input input{background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-primary);flex:1 1;font-size:13px;padding:6px 10px}.feed-card-comment-input input:focus{border-color:var(--color-primary);outline:none}.btn.small{font-size:12px;padding:4px 10px}.skeleton-pulse{animation:skeleton-pulse 1.2s ease-in-out infinite;background:var(--color-surface-secondary);border-radius:6px}.skeleton-avatar{border-radius:50%;flex-shrink:0;height:40px;width:40px}.skeleton-text{border-radius:4px;height:14px}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:1}}.feed-sentinel{height:1px}.feed-empty,.feed-error{color:var(--color-text-secondary);padding:40px 20px;text-align:center}.feed-empty .sub{margin-top:8px}@media (max-width:600px){.feed-card-body{flex-direction:column}.feed-card-thumbnail{aspect-ratio:16/9;height:auto;width:100%}.feed-card-stats{gap:12px}}.boats-list{gap:16px}.boat-card,.boats-list{display:flex;flex-direction:column}.boat-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:14px;gap:12px;padding:16px}.boat-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.boat-row label{display:flex;flex-direction:column;font-weight:600;gap:6px}.boat-row input{border:1px solid var(--color-border);border-radius:10px;padding:10px}.boat-row.polars .chips{display:flex;flex-wrap:wrap;gap:8px}.add-polar{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.add-polar input{border:1px solid var(--color-border);border-radius:10px;padding:10px}.boat-detail-page{margin:0 auto;max-width:900px}.boat-detail-header{flex-wrap:wrap;gap:20px}.back-btn,.boat-detail-header{align-items:center;display:flex}.back-btn{background:none;border:none;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;font-size:.95rem;gap:8px;padding:8px 12px;transition:all .2s}.back-btn:hover{background:var(--color-surface-secondary);color:var(--color-text-primary)}.back-btn svg{height:20px;width:20px}.boat-detail-header .header-content{flex:1 1}.boat-detail-header .header-actions{display:flex;gap:12px}.error-banner{background:#f8d7da;border-radius:8px;color:#721c24;margin-bottom:20px;padding:12px 16px}.boat-form{display:flex;flex-direction:column;gap:32px}.form-section{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:14px;padding:24px}.form-section h2{color:var(--color-text-primary);font-size:1.1rem;margin:0 0 20px}.form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{grid-column:1/-1}.form-group label{color:var(--color-text-secondary);font-size:.9rem;font-weight:500}.form-group input,.form-group select{background:var(--color-background);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-primary);font-size:.95rem;padding:10px 14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:var(--color-accent);outline:none}.form-group input::placeholder{color:var(--color-text-muted)}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.polars-section .polars-list{display:flex;flex-direction:column;gap:10px}.polars-section .polar-item{align-items:center;background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:10px;display:flex;justify-content:space-between;padding:12px 16px}.polars-section .polar-item.primary{background:var(--color-accent-light);border-color:var(--color-accent)}.polars-section .polar-info{align-items:center;display:flex;gap:12px}.polars-section .polar-name{font-weight:500}.polars-section .primary-badge{background:var(--color-accent);border-radius:4px;color:#fff;font-size:.75rem;padding:2px 8px}.polars-section .polar-method{color:var(--color-text-muted);font-size:.8rem}.polars-section .polar-actions{display:flex;gap:8px}.btn-icon{background:none;border:none;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;padding:8px;transition:all .2s}.btn-icon:hover{background:var(--color-surface-secondary);color:var(--color-text-primary)}.btn-icon.danger:hover{background:#f8d7da;color:#721c24}.btn-icon svg{height:18px;width:18px}.empty-polars-state{background:linear-gradient(135deg,var(--color-surface-secondary) 0,var(--color-background) 100%);border:2px dashed var(--color-border);border-radius:12px;padding:40px 20px;text-align:center}.empty-polars-icon{color:var(--color-accent);height:64px;margin:0 auto 16px;opacity:.8;width:64px}.empty-polars-icon svg{height:100%;width:100%}.empty-polars-state h3{color:var(--color-text-primary);font-size:1.2rem;margin:0 0 8px}.empty-polars-state>p{color:var(--color-text-secondary);margin:0 auto 24px;max-width:400px}.empty-polars-state .btn.large{align-items:center;display:inline-flex;font-size:1rem;gap:8px;padding:14px 28px}.empty-polars-state .btn.large svg{height:20px;width:20px}.polar-sources-hint{border-top:1px solid var(--color-border);margin-top:24px;padding-top:20px}.polar-sources-hint>span{color:var(--color-text-muted);display:block;font-size:.85rem;margin-bottom:12px}.sources-list{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.source-item{align-items:center;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:20px;color:var(--color-text-secondary);display:inline-flex;font-size:.8rem;padding:6px 12px}.btn.danger{border:none}.empty-state,.loading-state{padding:60px 20px;text-align:center}.empty-state .empty-icon{color:var(--color-text-muted);height:80px;margin:0 auto 20px;width:80px}.empty-state .empty-icon svg{height:100%;width:100%}.empty-state h2{margin:0 0 8px}.empty-state p{color:var(--color-text-secondary);margin:0 0 20px}@media (max-width:960px){.landing-page .landing-hero,.top-nav{grid-template-columns:1fr}.top-nav{justify-items:start}.top-nav-links{justify-content:flex-start}}.boat-detail-page-enhanced{max-width:1400px}.boat-detail-layout{grid-gap:32px;align-items:start;display:grid;gap:32px;grid-template-columns:1fr 1fr}.boat-detail-left{min-width:0}.boat-detail-right{display:flex;flex-direction:column;gap:20px;position:sticky;top:100px}.stats-section{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:14px;padding:16px}.stats-section h2{color:var(--color-text-secondary);font-size:1rem;margin:0 0 12px}.boat-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.boat-stat-card{align-items:center;background:var(--color-surface-secondary);border-radius:10px;display:flex;flex-direction:column;padding:12px 8px;text-align:center}.boat-stat-card .stat-value{color:var(--color-text-primary);font-size:1.25rem;font-weight:700}.boat-stat-card .stat-label{color:var(--color-text-secondary);font-size:.7rem;letter-spacing:.05em;margin-top:2px;text-transform:uppercase}.boat-stat-card.highlight{background:#e3f2fd;background:var(--color-accent-light,#e3f2fd);border:1px solid #0d6efd;border:1px solid var(--color-accent,#0d6efd)}.boat-stat-card.highlight .stat-value{color:#0d6efd;color:var(--color-accent,#0d6efd)}.polar-section{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:14px;min-height:400px;padding:16px}.polar-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.polar-section-header h2{color:var(--color-text-secondary);font-size:1rem;margin:0}.btn-add-polar{align-items:center;background:var(--color-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:6px;padding:6px 12px;transition:all .2s}.btn-add-polar:hover{background:#0b5ed7;background:var(--color-primary-dark,#0b5ed7)}.btn-add-polar svg{height:16px;width:16px}.polar-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.polar-tab{align-items:center;background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:20px;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:.8rem;gap:6px;padding:6px 12px;transition:all .2s}.polar-tab:hover{background:var(--color-surface-muted);border-color:var(--color-text-muted)}.polar-tab.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.polar-tab.primary .primary-dot{background:#ffc107;border-radius:50%;height:6px;width:6px}.polar-tab.active.primary .primary-dot{background:#fff}.polar-display{display:flex;flex-direction:column;gap:12px}.polar-diagram-wrapper{background:#fff;border-radius:10px;min-height:350px;overflow:hidden;position:relative}.polar-diagram-wrapper .polar-diagram-container{height:350px}.polar-diagram-wrapper .chart-container{height:100%}.polar-controls-bar{align-items:center;background:var(--color-surface-secondary);border-radius:8px;display:flex;justify-content:space-between;padding:8px 12px}.polar-info-bar{align-items:center;display:flex;gap:8px}.polar-name-display{font-size:.9rem;font-weight:600}.primary-badge-small{background:var(--color-accent);border-radius:4px;color:#fff;font-size:.65rem;padding:2px 6px;text-transform:uppercase}.polar-method-badge{background:var(--color-surface-muted);border-radius:4px;color:var(--color-text-muted);font-size:.7rem;padding:2px 6px}.polar-actions-bar{display:flex;gap:6px}.btn-small{align-items:center;background:#0000;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-secondary);cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .2s}.btn-small:hover{background:var(--color-surface-muted);color:var(--color-text-primary)}.btn-small.danger:hover{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.btn-small.primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-small.primary:hover{background:#0b5ed7;background:var(--color-primary-dark,#0b5ed7)}.btn-small.ghost{background:#0000;border-color:var(--color-border)}.btn-small svg{height:16px;width:16px}.polar-changes-bar{align-items:center;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;display:flex;font-size:.85rem;justify-content:space-between;padding:10px 12px}.polar-changes-actions{display:flex;gap:8px}.polar-table-wrapper{background:#fff;border-radius:8px;max-height:300px}.tws-filter{flex-wrap:wrap;gap:10px;padding:8px 0}.tws-filter-label{color:var(--color-text-secondary);font-size:.8rem;font-weight:500}.tws-checkboxes{gap:8px}.tws-checkbox{color:var(--color-text-secondary);font-size:.75rem}.tws-checkbox input{cursor:pointer}.empty-polar-state{padding:40px 20px;text-align:center}.empty-polar-icon{color:var(--color-text-muted);height:60px;margin:0 auto 16px;opacity:.5;width:60px}.empty-polar-icon svg{height:100%;width:100%}.empty-polar-state h3{font-size:1.1rem;margin:0 0 8px}.empty-polar-state p{color:var(--color-text-secondary);font-size:.9rem;margin:0 0 16px}.polar-sources-hint-small{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:16px}.polar-sources-hint-small span{background:var(--color-surface-secondary);border-radius:4px;color:var(--color-text-muted);font-size:.75rem;padding:4px 8px}.polar-loading{color:var(--color-text-secondary);min-height:200px}.modal-overlay,.polar-loading{align-items:center;display:flex;justify-content:center}.modal-overlay{background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;max-height:90vh;max-width:480px;overflow-y:auto;padding:24px;width:90%}.save-polar-modal h2{font-size:1.25rem;margin:0 0 8px}.save-polar-modal>p{color:var(--color-text-secondary);margin:0 0 20px}.save-options{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.save-option{align-items:flex-start;border:2px solid var(--color-border);border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:14px;transition:all .2s}.save-option:hover{border-color:var(--color-text-muted)}.save-option.selected{background:#e3f2fd;background:var(--color-accent-light,#e3f2fd);border-color:var(--color-primary)}.save-option input[type=radio]{accent-color:var(--color-primary);margin-top:2px}.save-option-content{display:flex;flex-direction:column;gap:4px}.save-option-content strong{font-size:.95rem}.save-option-content span{color:var(--color-text-secondary);font-size:.8rem}.new-polar-name{margin-bottom:20px}.new-polar-name label{display:block;font-size:.9rem;font-weight:500;margin-bottom:6px}.new-polar-name input{border:1px solid var(--color-border);border-radius:8px;font-size:.95rem;padding:10px 12px;width:100%}.new-polar-name input:focus{border-color:var(--color-primary);outline:none}.modal-actions{display:flex;gap:12px;justify-content:flex-end}@media (max-width:1100px){.boat-detail-layout{grid-template-columns:1fr}.boat-detail-right{position:static}}@media (max-width:600px){.polar-controls-bar{flex-direction:column;gap:10px}.polar-actions-bar,.polar-info-bar{justify-content:center;width:100%}.boat-stats-grid{grid-template-columns:repeat(3,1fr)}}.polar-diagram-container{display:flex;flex-direction:column;height:100%;position:relative;width:100%}.polar-controls{align-items:center;background:var(--color-surface-secondary);border-radius:var(--radius-lg);gap:var(--space-3);margin-bottom:var(--space-3);padding:var(--space-3)}.btn-generate-polar{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:var(--font-size-base);font-weight:600;gap:var(--space-2);min-height:var(--touch-target-min);padding:var(--space-3) var(--space-4);transition:all var(--transition-base)}.btn-generate-polar:hover:not(:disabled){box-shadow:var(--shadow-md);filter:brightness(1.1);transform:translateY(-1px)}.btn-generate-polar:active:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-generate-polar:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-generate-polar .icon-wand{animation:sparkle 2s ease-in-out infinite;display:inline-block;font-size:1.2em}@keyframes sparkle{0%,to{transform:scale(1) rotate(0deg)}25%{transform:scale(1.1) rotate(5deg)}50%{transform:scale(1) rotate(0deg)}75%{transform:scale(1.1) rotate(-5deg)}}.spinner-small{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;width:14px}.chart-content{align-items:stretch;display:flex;flex:1 1;flex-wrap:wrap;gap:var(--space-4);min-height:0;width:100%}.chart-container{background:var(--color-surface);border-radius:var(--radius-lg);box-sizing:border-box;flex:1 1 420px;height:clamp(400px,50vh,600px);min-width:320px;overflow:hidden;position:relative}.polar-data-canvas{pointer-events:none}.chart-container svg,.polar-data-canvas{inset:0;position:absolute}.speed-source{margin-bottom:0}.speed-source h3{color:var(--color-text-primary);font-size:var(--font-size-lg);margin:0 0 var(--space-2) 0}.speed-source-option{display:block;margin:var(--space-1) 0}.speed-source-toggle{grid-gap:var(--space-1);background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;display:grid;gap:var(--space-1);grid-template-columns:1fr 1fr;min-height:var(--touch-target-min);padding:var(--space-1);width:100%}.speed-source-toggle span{align-items:center;border-radius:var(--radius-full);color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);font-weight:600;justify-content:center;padding:var(--space-2) var(--space-3);text-align:center;transition:all var(--transition-fast)}.speed-source-toggle span.is-active{background:var(--color-primary);box-shadow:var(--shadow-sm);color:var(--color-text-primary)}.speed-source-toggle:disabled{cursor:not-allowed;opacity:.5}.curve{transition:stroke-width .2s,opacity .2s}.curve:hover{stroke-width:2.5;opacity:1}.control-point{cursor:pointer;transition:opacity .2s,r .2s,stroke-width .2s}.control-point:hover{opacity:1}@media (max-width:767px){.chart-content{flex-direction:column}.chart-container{height:clamp(320px,60vh,450px);min-height:320px;width:100%}}@media (max-width:479px){.chart-container{height:clamp(280px,65vh,400px);min-height:280px}}.polar-table-section{padding:0 var(--space-5) var(--space-5)}.polar-table-header{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-3)}.polar-table-header h2{color:var(--color-text-primary);font-size:var(--font-size-lg);margin:0}.polar-table-export-btn{background:var(--color-primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:var(--font-size-xs);font-weight:500;padding:var(--space-1) var(--space-3);transition:background-color var(--transition-fast);white-space:nowrap}.polar-table-export-btn:hover:not(:disabled){background:var(--color-primary-dark)}.polar-table-export-btn:disabled{cursor:not-allowed;opacity:.6}.polar-table-wrapper{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:clamp(400px,55vh,600px);overflow:auto}.polar-table{border-collapse:collapse;min-width:320px;width:100%}.polar-table thead th{background:var(--color-surface-secondary);border-bottom:2px solid var(--color-border);border-right:1px solid var(--color-border-subtle);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:600;padding:var(--space-1) var(--space-1);position:sticky;top:0;white-space:nowrap;z-index:var(--z-dropdown)}.polar-table thead th:first-child{border-right:2px solid var(--color-border);left:0;position:sticky;z-index:calc(var(--z-dropdown) + 1)}.polar-table thead th:last-child{border-right:none}.polar-table td,.polar-table th{border-bottom:1px solid var(--color-border-subtle);border-right:1px solid var(--color-border-subtle);color:var(--color-text-primary);font-size:var(--font-size-xs);padding:var(--space-1) var(--space-1);text-align:center}.polar-table td:last-child,.polar-table th:last-child{border-right:none}.polar-table th[scope=row]{background:var(--color-surface-elevated);border-right:2px solid var(--color-border);color:var(--color-text-secondary);font-weight:600;left:0;position:sticky;text-align:center;z-index:var(--z-base)}.polar-table tbody tr:hover{background:var(--color-hover)}.polar-table input{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-xs);padding:2px 4px;text-align:center;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:clamp(38px,5vw,50px)}.polar-table input.is-active,.polar-table input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-hover);outline:none}.polar-table-empty{color:var(--color-text-tertiary);font-size:var(--font-size-lg);padding:var(--space-10);text-align:center}.polar-table-empty:before{content:"📊";display:block;font-size:3rem;margin-bottom:var(--space-4);opacity:.5}@media (max-width:767px){.polar-table td,.polar-table th{font-size:var(--font-size-xs);padding:2px 4px}.polar-table thead th{padding:2px 4px}.polar-table input{font-size:var(--font-size-xs);padding:2px;width:38px}}.timeline-map{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);height:clamp(260px,40vh,420px);overflow:hidden;position:relative;width:100%}.timeline-map--fullscreen{border:none;border-radius:0;height:100vh;height:100dvh;inset:0;position:fixed;width:100vw;z-index:9999}.timeline-map-gpx-btn{align-items:center;background:#ffffffeb;border:1px solid #00000026;border-radius:6px;box-shadow:0 1px 4px #00000026;color:#333;cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:90px;top:10px;transition:background .15s;width:32px;z-index:10}.timeline-map-gpx-btn:hover{background:#fff}.timeline-map-gaps-btn{align-items:center;background:#ffffffeb;border:1px solid #00000026;border-radius:6px;box-shadow:0 1px 4px #00000026;color:#333;cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:50px;top:10px;transition:background .15s;width:32px;z-index:10}.timeline-map-gaps-btn:hover{background:#fff}.timeline-map-fullscreen-btn{align-items:center;background:#ffffffeb;border:1px solid #00000026;border-radius:6px;box-shadow:0 1px 4px #00000026;color:#333;cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:10px;top:10px;transition:background .15s;width:32px;z-index:10}.timeline-map-fullscreen-btn:hover{background:#fff}.timeline-map-container{height:100%;width:100%}.timeline-map--empty{align-items:center;background:var(--color-surface-secondary);border:1px dashed var(--color-border);display:flex;justify-content:center}.timeline-map-empty{color:var(--color-text-tertiary);font-size:var(--font-size-sm);padding:var(--space-3);text-align:center}.boat-marker{--heading:0deg}.boat-marker,.boat-marker__icon{height:28px;position:relative;width:24px}.boat-marker__icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transform:rotate(var(--heading));transform-origin:50% 60%}.boat-marker__icon:before{border-bottom:18px solid #d1495b;border-left:8px solid #0000;border-right:8px solid #0000;content:"";height:0;top:2px;width:0}.boat-marker__icon:before,.boat-marker__stern{left:50%;position:absolute;transform:translateX(-50%)}.boat-marker__stern{background:#8b1d2c;border-radius:2px;bottom:2px;box-shadow:inset 0 0 0 1px #ffffff40;height:6px;width:12px}.polar-comparison-chart{align-items:center;display:flex;flex-direction:column;gap:12px}.polar-comparison-chart svg{background:#fff;background:var(--color-surface-elevated,#fff);border:1px solid #e0e0e0;border:1px solid var(--color-border,#e0e0e0);border-radius:12px}.polar-chart-legend{color:#666;color:var(--color-text-secondary,#666);display:flex;flex-wrap:wrap;font-size:12px;gap:12px;justify-content:center}.legend-item{align-items:center;display:flex;gap:6px}.legend-color{border-radius:50%;height:12px;width:12px}.session-detail-page{max-width:1200px}.session-detail-header{flex-wrap:wrap;justify-content:space-between}.header-left,.session-detail-header{align-items:flex-start;display:flex;gap:16px}.back-btn{margin-top:4px}.session-title-block h1{font-size:1.75rem;margin:0}.session-date{margin:4px 0 0}.header-right{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.session-detail-content{display:flex;flex-direction:column;gap:24px}.section-header{margin-bottom:12px}.section-header h2{font-size:1.25rem;margin:0}.session-map-section{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:16px;padding:16px}.map-container{background:var(--color-surface-secondary);border-radius:12px;height:400px;overflow:hidden}.no-track{align-items:center;color:var(--color-text-secondary);display:flex;height:100%;justify-content:center}.session-stats-section{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:16px;padding:16px}.session-stats-section .stats-cards{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.twa-breakdown{margin-top:16px}.twa-bar{background:var(--color-surface-secondary);border-radius:6px;display:flex;height:12px;overflow:hidden}.twa-segment{transition:width .3s ease}.twa-segment.upwind{background:#0d6efd}.twa-segment.reaching{background:#6c757d}.twa-segment.downwind{background:#28a745}.twa-legend{color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-size:12px;gap:16px;margin-top:8px}.twa-legend .dot{border-radius:50%;display:inline-block;height:10px;margin-right:4px;width:10px}.twa-legend .dot.upwind{background:#0d6efd}.twa-legend .dot.reaching{background:#6c757d}.twa-legend .dot.downwind{background:#28a745}.session-polar-section{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:16px;padding:16px}.polar-content{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:auto 1fr}.no-polar,.polar-chart-wrapper{display:flex;justify-content:center}.no-polar{align-items:center;background:var(--color-surface-secondary);border-radius:12px;color:var(--color-text-secondary);height:350px;width:350px}.polar-controls{display:flex;flex-direction:column;gap:16px}.polar-gauge-card{background:var(--color-surface-secondary);border-radius:12px;padding:16px}.polar-gauge-card .label{color:var(--color-text-secondary);margin:0 0 8px}.polar-gauge{background:var(--color-border);border-radius:4px;height:8px;overflow:hidden}.gauge-fill{border-radius:4px;height:100%;transition:width .3s ease}.gauge-value{font-size:2rem;margin:8px 0 0}.polar-selector{display:flex;flex-direction:column;gap:8px}.polar-selector label{font-size:14px;font-weight:600}.polar-selector select{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:10px;font-size:14px;padding:10px 12px}.polar-selector .btn.small{font-size:12px;padding:6px 12px}.tws-filter{flex-direction:column}.tws-filter label{font-size:14px;font-weight:600}.tws-chips{display:flex;flex-wrap:wrap;gap:6px}.tws-chips .chip{border:none;cursor:pointer;font-size:12px;padding:4px 10px}.tws-chips .chip:hover{background:var(--color-surface-secondary)}.tws-chips .chip.success{background:#e8fff4;color:#1f8a64}.session-actions-section{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:16px;padding:16px}.actions-row{display:flex;flex-wrap:wrap;gap:12px}.btn.danger{background:#dc3545;color:#fff}.btn.danger:hover{background:#c82333}.session-error,.session-loading{color:var(--color-text-secondary);padding:60px 20px;text-align:center}@media (max-width:768px){.header-left,.session-detail-header{flex-direction:column}.header-left{align-items:flex-start}.polar-content{grid-template-columns:1fr}.polar-chart-wrapper{order:-1}.map-container{height:300px}.actions-row{flex-direction:column}.actions-row .btn{width:100%}}.polar-edit-page{background:var(--color-background);display:flex;flex-direction:column;min-height:calc(100vh - 80px)}.polar-edit-header{align-items:center;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;gap:16px;justify-content:space-between;padding:16px 24px}.polar-edit-header .back-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--color-text);cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 12px;transition:background .2s}.polar-edit-header .back-btn:hover{background:var(--color-surface-elevated)}.polar-edit-header .back-btn svg{height:20px;width:20px}.header-title{display:flex;flex:1 1;flex-direction:column;gap:4px}.header-title h1{color:var(--color-text);font-size:1.25rem;font-weight:600;margin:0}.polar-name-input{background:var(--color-background);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-size:14px;max-width:300px;padding:6px 12px}.polar-name-input:focus{border-color:var(--color-primary);outline:none}.header-actions{align-items:center;display:flex;gap:12px}.polar-edit-page .error-banner{background:#fee2e2;color:#dc2626;font-size:14px;padding:12px 24px}.polar-edit-loading{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:16px;justify-content:center}.loading-progress{align-items:center;color:var(--color-text-secondary);display:flex;font-size:14px;gap:12px}.source-panel{background:var(--color-surface);padding:24px}.source-panel,.source-tabs{border-bottom:1px solid var(--color-border)}.source-tabs{display:flex;gap:4px;margin-bottom:20px;padding-bottom:0}.source-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--color-text-secondary);cursor:pointer;font-size:14px;font-weight:500;margin-bottom:-1px;padding:12px 20px;transition:all .2s}.source-tab:hover{color:var(--color-text)}.source-tab.active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.source-content{max-height:400px;overflow-y:auto}.reference-panel .search-bar{margin-bottom:16px}.reference-panel .search-bar input{background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:14px;padding:10px 16px;width:100%}.reference-panel .search-bar input:focus{border-color:var(--color-primary);outline:none}.polars-list{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-height:300px;overflow-y:auto}.polar-item{align-items:center;background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer;display:flex;font-size:14px;padding:12px 16px;text-align:left;transition:all .2s}.polar-item:hover{background:var(--color-surface-elevated);border-color:var(--color-primary)}.polar-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hint{font-size:13px;margin-top:12px}.empty-hint,.hint{color:var(--color-text-secondary)}.empty-hint{padding:24px;text-align:center}.sessions-panel .hint{margin-bottom:12px}.sessions-list{display:flex;flex-direction:column;gap:8px;max-height:250px;overflow-y:auto}.session-item{align-items:center;border:1px solid var(--color-border);border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:all .2s}.session-item.selected,.session-item:hover{border-color:var(--color-primary)}.session-item.selected{background:#3b82f61a}.session-item input[type=checkbox]{accent-color:var(--color-primary);height:18px;width:18px}.session-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.session-name{color:var(--color-text);font-size:14px;font-weight:500}.session-date{color:var(--color-text-secondary);font-size:12px}.sessions-action{align-items:center;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;margin-top:16px;padding-top:16px}.sessions-action span{color:var(--color-text-secondary);font-size:14px}.import-panel{padding:24px}.file-drop-zone{border:2px dashed var(--color-border);border-radius:12px;padding:48px;position:relative;text-align:center;transition:all .2s}.file-drop-zone:hover{background:#3b82f60d;border-color:var(--color-primary)}.file-drop-zone input[type=file]{cursor:pointer;inset:0;opacity:0;position:absolute}.file-drop-label{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:12px;pointer-events:none}.file-drop-label svg{stroke:var(--color-text-secondary);height:48px;width:48px}.polar-edit-workspace{display:flex;flex:1 1;flex-direction:column;min-height:0}.polar-toolbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;padding:12px 24px}.polar-toolbar,.toolbar-left,.toolbar-right{align-items:center;display:flex;gap:16px}.view-mode-toggle{background:var(--color-background);border-radius:8px;display:flex;gap:4px;padding:4px}.view-mode-toggle button{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--color-text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.view-mode-toggle button:hover{background:var(--color-surface-elevated);color:var(--color-text)}.view-mode-toggle button.active{background:var(--color-surface);box-shadow:0 1px 3px #0000001a;color:var(--color-primary)}.view-mode-toggle button svg{height:20px;width:20px}.nmea-toggle{align-items:center;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:13px;gap:8px}.nmea-toggle input{accent-color:var(--color-primary)}.tws-filter{align-items:center;display:flex;gap:8px}.tws-label{color:var(--color-text-secondary);font-size:13px;font-weight:500}.tws-checkboxes{gap:4px}.tws-checkbox{align-items:center;background:var(--color-background);border-radius:4px;cursor:pointer;display:flex;font-size:12px;gap:4px;padding:4px 8px}.tws-checkbox input{accent-color:var(--color-primary);height:14px;width:14px}.polar-edit-content{grid-gap:24px;display:grid;flex:1 1;gap:24px;min-height:0;overflow:hidden;padding:24px}.polar-edit-content.diagram,.polar-edit-content.table{grid-template-columns:1fr}.polar-edit-content.split{grid-template-columns:1fr 1fr}@media (max-width:1024px){.polar-edit-content.split{grid-template-columns:1fr;grid-template-rows:1fr 1fr}}.diagram-container,.table-container{background:var(--color-surface);border-radius:12px;display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:16px}.diagram-container{min-height:400px}.table-container{overflow:auto}.unsaved-bar{background:#fef3c7;border-top:1px solid #fcd34d;bottom:0;color:#92400e;font-size:14px;font-weight:500;justify-content:space-between;padding:12px 24px;position:sticky}.unsaved-actions,.unsaved-bar{align-items:center;display:flex}.unsaved-actions{gap:8px}.polar-edit-page .btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s}.polar-edit-page .btn.primary{background:var(--color-primary);color:#fff}.polar-edit-page .btn.primary:hover:not(:disabled){background:#2563eb;background:var(--color-primary-dark,#2563eb)}.polar-edit-page .btn.primary:disabled{cursor:not-allowed;opacity:.5}.polar-edit-page .btn.ghost{background:#0000;border:1px solid var(--color-border);color:var(--color-text)}.polar-edit-page .btn.ghost:hover{background:var(--color-surface-elevated)}.polar-edit-page .btn svg{height:18px;width:18px}.polar-edit-page .btn-small{border-radius:6px;font-size:13px;padding:6px 12px}.polar-edit-page .btn-small.ghost{background:#0000;border:1px solid var(--color-border);color:var(--color-text)}.polar-edit-page .btn-small.ghost:hover{background:var(--color-surface-elevated)}.polar-edit-page .btn-small.primary{background:var(--color-primary);border:none;color:#fff}.polar-edit-page .btn-small.primary:hover:not(:disabled){background:#2563eb;background:var(--color-primary-dark,#2563eb)}.polar-edit-page .btn-small.primary:disabled{cursor:not-allowed;opacity:.5}.file-upload-container{display:flex;flex-direction:column;gap:var(--space-3);margin:0}.dropzone-area{align-items:center;background:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius-lg);box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;min-height:100px;padding:var(--space-4);text-align:center;transition:all var(--transition-base);width:100%}.dropzone-area.drag-active,.dropzone-area:hover{background:var(--color-hover);border-color:var(--color-primary)}.dropzone-area.drag-active{border-width:3px}.dropzone-area p{color:var(--color-text-secondary);font-size:var(--font-size-base);margin:0}@media (max-width:767px){.dropzone-area{min-height:90px;padding:var(--space-3)}}@media (max-width:479px){.dropzone-area{min-height:80px;padding:var(--space-3)}.dropzone-area p{font-size:var(--font-size-sm)}}.file-list{margin-bottom:var(--space-4)}.file-list-toggle{align-items:center;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:600;justify-content:space-between;padding:var(--space-3);transition:background-color var(--transition-fast);width:100%}.file-list-toggle:hover{background:var(--color-hover)}.file-list-count{flex:1 1;text-align:left}.file-list-arrow{color:var(--color-text-secondary);display:inline-block;font-size:var(--font-size-xs);transition:transform var(--transition-fast)}.file-list-arrow.is-expanded{transform:rotate(180deg)}.file-list-items{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);list-style:none;margin:var(--space-2) 0 0 0;max-height:200px;overflow-y:auto;padding:0}.file-list-item{align-items:center;border-bottom:1px solid var(--color-border-subtle);display:flex;gap:var(--space-2);justify-content:space-between;padding:var(--space-2) var(--space-3)}.file-list-item:last-child{border-bottom:none}.file-list-item:hover{background:var(--color-hover)}.file-list-item-polar{background:var(--color-primary-muted)}.file-list-name{color:var(--color-text-primary);flex:1 1;font-size:var(--font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-list-remove{align-items:center;background:var(--color-error);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:24px;justify-content:center;line-height:1;padding:0;transition:background-color var(--transition-fast);width:24px}.file-list-remove:hover{background:#dc2626}.file-list-remove:active{transform:scale(.95)}.tws-filter-container{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-top:0;max-height:500px;overflow-y:auto;padding:var(--space-4)}.tws-filter-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:space-between}.tws-filter-container h3{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:600;margin:0}.tws-filter-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tws-filter-actions button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-primary);cursor:pointer;font-size:var(--font-size-sm);font-weight:600;min-height:var(--touch-target-min);padding:var(--space-2) var(--space-3);transition:all var(--transition-fast)}.tws-filter-actions button:hover:not(:disabled){background:var(--color-surface-secondary);border-color:var(--color-primary)}.tws-filter-actions button:disabled{cursor:not-allowed;opacity:.5}.tws-checkboxes{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.tws-checkbox-item{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);display:flex;font-size:var(--font-size-base);min-height:var(--touch-target-min);padding:var(--space-3) var(--space-4);transition:all var(--transition-fast)}.tws-checkbox-item:hover{background:var(--color-surface-secondary);border-color:var(--color-primary)}.tws-checkbox-item input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer;height:18px;margin-right:var(--space-2);width:18px}.tws-checkbox-item label{color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}@media (max-width:767px){.tws-filter-header{align-items:flex-start;flex-direction:column}.tws-filter-actions{width:100%}}@media (max-width:479px){.tws-checkbox-item{font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3)}}.btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:var(--font-size-base);font-weight:600;gap:var(--space-2);justify-content:center;margin-top:var(--space-3);min-height:var(--touch-target-min);padding:var(--space-3) var(--space-5);transition:all var(--transition-base);width:100%}.btn--primary{background:var(--color-primary);box-shadow:var(--shadow-md);color:var(--color-text-primary)}.btn--primary:hover:not(:disabled){background:var(--color-primary-light);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn--secondary{background:var(--color-surface-elevated);border:1px solid var(--color-border);color:var(--color-text-primary)}.btn--secondary:hover:not(:disabled){background:var(--color-surface-secondary);border-color:var(--color-primary)}.btn:disabled{background:var(--color-disabled);cursor:not-allowed;opacity:.5}.btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media (max-width:479px){.btn{font-size:var(--font-size-sm);padding:var(--space-2) var(--space-4)}}.polar-generator-view{display:flex;flex-direction:column;gap:var(--space-5);width:100%}.polar-generator-diagram{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;min-height:480px;padding:var(--space-4)}.polar-generator-diagram h2{color:var(--color-text-primary);font-size:var(--font-size-lg);margin:0 0 var(--space-3) 0}.polar-generator-table{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:auto;padding:var(--space-4)}.timeline-section{display:flex;flex-direction:column;gap:var(--space-3);margin-top:0;width:100%}.timeline-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between}.timeline-header h3{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:600;margin:0}.timeline-header p{color:var(--color-text-tertiary);font-size:var(--font-size-sm);margin:var(--space-1) 0 0}.timeline-hint{align-self:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.timeline-controls{gap:var(--space-3) var(--space-4);justify-content:flex-end}.timeline-actions,.timeline-controls{align-items:center;display:flex;flex-wrap:wrap}.timeline-actions{gap:var(--space-2)}.timeline-action{align-items:center;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-primary);cursor:pointer;display:flex;font-size:var(--font-size-sm);min-height:var(--touch-target-min);padding:var(--space-2) var(--space-4);transition:all var(--transition-fast)}.timeline-action:hover{background:var(--color-surface-secondary);border-color:var(--color-primary)}.timeline-action:disabled{cursor:not-allowed;opacity:.5}.timeline-action-delete{background:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error)}.timeline-action-delete.is-active,.timeline-action-delete:hover:not(:disabled){background:var(--color-error);border-color:var(--color-error);color:var(--color-text-primary)}.timeline-filter-count{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.timeline-body{align-items:stretch;display:flex;flex-direction:row;gap:var(--space-3);width:100%}.timeline-layout-replay .timeline-body{flex-direction:row-reverse}.timeline-layout-replay .timeline-map-section{flex:1 1 50%;max-width:none;min-width:320px}.timeline-layout-replay .timeline-chart{flex:1 1 50%;min-width:0}.timeline-chart{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex:1 1 auto;height:clamp(520px,65vh,760px);min-height:480px;min-width:0;overflow:hidden;position:relative}.timeline-map-section{display:flex;flex:0 0 38%;flex-direction:column;gap:var(--space-2);max-width:520px;min-width:320px}.timeline-body .timeline-map-section .timeline-map{flex:1 1 auto;height:auto;min-height:0}.timeline-map-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);justify-content:space-between}.timeline-map-title{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.timeline-map-controls{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.timeline-playback{pointer-events:none}.timeline-playback-line{stroke:var(--color-primary);stroke-width:1.6;stroke-dasharray:6 4;opacity:.9}.timeline-playback-toggle.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-primary)}.timeline-playback-stop{background:var(--color-surface-secondary)}.timeline-playback-speeds{align-items:center;display:flex;gap:var(--space-2)}.timeline-playback-speed{font-size:var(--font-size-xs);min-height:calc(var(--touch-target-min) - 6px);padding:var(--space-1) var(--space-3)}.timeline-playback-speed.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-primary)}.timeline-playback-time{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.timeline-canvas{pointer-events:none}.timeline-canvas,.timeline-chart svg{inset:0;position:absolute}.timeline-row-bg{fill:var(--color-surface)}.timeline-row:nth-child(2n) .timeline-row-bg{fill:var(--color-surface-secondary)}.timeline-row-label{fill:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm)}.timeline-row.is-hidden .timeline-row-label{fill:var(--color-text-muted)}.timeline-row-hover-zone{fill:#0000;cursor:pointer}.timeline-row-toggle{cursor:pointer;opacity:0;transition:opacity var(--transition-fast)}.timeline-row.is-hidden .timeline-row-toggle,.timeline-row:hover .timeline-row-toggle{opacity:1}.timeline-row-toggle circle{fill:var(--color-surface-elevated);stroke:var(--color-border);stroke-width:1}.timeline-row-toggle text{fill:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:600}.timeline-label-help circle{fill:var(--color-surface-elevated);stroke:var(--color-border);stroke-width:1.5}.timeline-label-help text{fill:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:600}.timeline-label-help{cursor:help}.timeline-label-help:hover circle{fill:var(--color-surface-secondary);stroke:var(--color-primary)}.timeline-help-tooltip{background:#fffffffa;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);color:var(--color-text-primary);font-size:var(--font-size-sm);max-width:220px;opacity:0;padding:var(--space-2) var(--space-3);pointer-events:none;position:absolute;transition:opacity var(--transition-fast);white-space:pre-line;z-index:var(--z-tooltip)}.timeline-grid{stroke:var(--color-border);stroke-width:.6;stroke-dasharray:3 3}.timeline-grid-label{fill:var(--color-text-muted);font-size:var(--font-size-xs)}.timeline-line{fill:none;stroke-width:1.5}.timeline-hover-line{stroke:var(--color-text-secondary);stroke-width:1;stroke-dasharray:4 4}.timeline-hover-dot{stroke:var(--color-surface);stroke-width:1.5}.timeline-axis text{fill:var(--color-text-tertiary);font-size:var(--font-size-xs)}.timeline-axis line,.timeline-axis path{stroke:var(--color-border)}.timeline-overlay{fill:#0000;cursor:grab}.timeline-overlay:active{cursor:grabbing}.timeline-tooltip{background:#fffffffa;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);color:var(--color-text-primary);font-size:var(--font-size-sm);min-width:160px;opacity:0;padding:var(--space-2) var(--space-3);pointer-events:none;position:absolute;transition:opacity var(--transition-fast);z-index:var(--z-tooltip)}.timeline-empty{fill:var(--color-text-muted);font-size:var(--font-size-lg)}.timeline-brush .selection{fill:#3b82f626;stroke:var(--color-primary)}.timeline-brush .overlay{cursor:crosshair}.timeline-brush .handle{fill:var(--color-primary)}@media (max-width:1023px){.timeline-body{flex-direction:column}.timeline-map-section{flex:1 1 auto;max-width:none;min-width:0}.timeline-body .timeline-map-section .timeline-map{height:clamp(260px,40vh,420px)}}@media (max-width:767px){.timeline-chart{height:clamp(420px,70vh,560px);min-height:380px}.timeline-map{height:clamp(240px,45vh,360px)}.timeline-header{align-items:flex-start;flex-direction:column}.timeline-controls{justify-content:flex-start;width:100%}.timeline-action{font-size:var(--font-size-xs);padding:var(--space-2) var(--space-3)}}@media (max-width:479px){.timeline-chart{height:clamp(360px,75vh,480px)}}.replay-view{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.replay-no-polar-banner{align-items:center;background:linear-gradient(135deg,#fff8e1,#ffeeba);border:1px solid #ffd966;border-radius:var(--radius-md);color:#5a4500;display:flex;font-size:var(--font-size-sm);gap:var(--space-3);justify-content:space-between;padding:var(--space-3) var(--space-4)}.replay-generate-polar-btn{background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:600;padding:var(--space-2) var(--space-4);transition:filter .15s ease;white-space:nowrap}.replay-generate-polar-btn:hover{filter:brightness(1.05)}.loading-banner{animation:loadingBannerFade .2s ease;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-3)}@keyframes loadingBannerFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.loading-banner-track{background:var(--color-surface-secondary);border-radius:999px;height:4px;overflow:hidden;position:relative}.loading-banner-fill{background:linear-gradient(90deg,var(--color-primary-light),var(--color-primary));border-radius:999px;inset:0 auto 0 0;position:absolute;transition:width .4s ease}.loading-banner-shimmer{animation:loadingBannerShimmer 1.6s linear infinite;background:linear-gradient(90deg,#0000,#ffffff59 50%,#0000);background-size:200% 100%;inset:0;position:absolute}@keyframes loadingBannerShimmer{0%{background-position:-100% 0}to{background-position:200% 0}}.loading-banner-text{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-xs);gap:var(--space-3)}.loading-banner-fun{color:var(--color-primary);flex:0 0 auto;font-weight:600;transition:opacity .3s ease}.loading-banner-tech{color:var(--color-text-tertiary);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loading-banner-percent{font-feature-settings:"tnum";color:var(--color-text-secondary);flex:0 0 auto;font-variant-numeric:tabular-nums}.tools-page{background:var(--color-bg);flex-direction:column;min-height:calc(100vh - 80px);padding:var(--space-5)}.tools-page,.tools-page-header{display:flex;gap:var(--space-4)}.tools-page-header{align-items:flex-start;background:linear-gradient(135deg,var(--color-surface-elevated) 0,var(--color-surface-secondary) 100%);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;padding:var(--space-4) var(--space-5)}.tools-page-header-left{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3)}.tools-page-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--color-primary-light),var(--color-primary));-webkit-background-clip:text;background-clip:text;font-size:var(--font-size-2xl);font-weight:700;margin:0}.tools-page-session-name{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--space-1) var(--space-3)}.session-update-btn{align-items:center;background:#ffc107;border:none;border-radius:var(--radius-md);color:#000;cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:600;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.tools-page-header-right{align-items:stretch;display:flex;flex-wrap:wrap;gap:var(--space-3)}.tools-tool-switcher{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:inline-flex;gap:2px;overflow:hidden;padding:2px}.tools-tool-switcher-btn{background:#0000;border:none;border-radius:calc(var(--radius-md) - 2px);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);font-weight:500;padding:var(--space-2) var(--space-4);transition:background .15s ease,color .15s ease}.tools-tool-switcher-btn:hover{background:var(--color-surface-secondary)}.tools-tool-switcher-btn.is-active{background:var(--color-primary);color:#fff}.tools-speed-source{min-width:auto!important;padding:var(--space-2) var(--space-3)!important}.tools-speed-source h3{color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:500;margin:0 0 var(--space-1) 0}.tools-gear-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;display:inline-flex;height:42px;justify-content:center;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .3s ease;width:42px}.tools-gear-btn:hover{background:var(--color-surface-secondary);border-color:var(--color-primary-light);color:var(--color-primary);transform:rotate(30deg)}.tools-gear-btn.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:rotate(60deg)}.tools-settings-section{border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) 0}.tools-settings-section:last-child{border-bottom:none}.tools-settings-section>h3{color:var(--color-text-tertiary);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.04em;margin:0;text-transform:uppercase}.tools-empty-state{align-items:center;display:flex;flex:1 1;justify-content:center;padding:var(--space-6) var(--space-4)}.tools-empty-state-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-width:720px;padding:var(--space-6);width:100%}.tools-import-section{display:flex;flex-direction:column;gap:var(--space-3)}.tools-import-section h2{color:var(--color-text-primary);font-size:var(--font-size-lg);margin:0}.tools-import-section h3{color:var(--color-text-secondary);margin:0}.tools-import-section h3,.tools-import-section.is-compact h2{font-size:var(--font-size-md)}.tools-import-section .my-polars-section{border-top:1px solid var(--color-border);margin-top:var(--space-3);padding-top:var(--space-3)}.tools-add-overlay{animation:toolsAddFade .18s ease;background:#0006;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:100}@keyframes toolsAddFade{0%{opacity:0}to{opacity:1}}.tools-add-panel{animation:toolsAddSlide .22s ease;background:var(--color-surface-elevated);border-left:1px solid var(--color-border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;height:100%;max-width:90vw;width:420px}@keyframes toolsAddSlide{0%{transform:translateX(100%)}to{transform:translateX(0)}}.tools-add-panel-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--space-4) var(--space-5)}.tools-add-panel-header h2{font-size:var(--font-size-lg);margin:0}.tools-add-panel-close{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;font-size:1.6rem;height:36px;line-height:1;width:36px}.tools-add-panel-close:hover{background:var(--color-surface-secondary);color:var(--color-text-primary)}.tools-add-panel-body{flex:1 1;overflow:auto;padding:var(--space-5)}.tools-page-main{display:flex;flex:1 1;flex-direction:column;min-width:0}@media (max-width:768px){.tools-page,.tools-page-header{padding:var(--space-3)}.tools-page-title{font-size:var(--font-size-xl)}.tools-add-panel{width:100vw}}.app-container{display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.app-header{background:linear-gradient(135deg,var(--color-surface-elevated) 0,var(--color-surface-secondary) 100%);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-md);padding:var(--space-4) var(--space-6)}.app-header-inner{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-5);justify-content:space-between}.app-header-brand{flex-wrap:wrap;gap:var(--space-4)}.app-header-brand,.brand{align-items:center;display:flex}.brand{gap:var(--space-3)}.brand-logo{height:56px;object-fit:contain;width:56px}.app-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--color-primary-light),var(--color-primary));-webkit-background-clip:text;background-clip:text;font-size:var(--font-size-2xl);font-weight:700;margin:0}.app-header-controls{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-end}.app-header-controls .speed-source{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);min-width:220px;padding:var(--space-3)}.app-content{align-items:stretch;display:flex;flex:1 1;gap:var(--space-5);padding:var(--space-5)}.file-section{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);order:1;padding:var(--space-5);position:relative;width:var(--sidebar-width)}.file-section.is-collapsed{padding:var(--space-3) var(--space-2);width:var(--sidebar-width-collapsed)}.file-section.is-collapsed .file-section-content{display:none}.file-section-toggle{align-items:center;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:50%;box-shadow:var(--shadow-md);color:var(--color-text-primary);cursor:pointer;display:flex;font-weight:700;height:32px;justify-content:center;left:-14px;line-height:1;position:absolute;top:var(--space-3);transition:all var(--transition-fast);width:32px}.file-section-toggle:hover{background:var(--color-surface-secondary);border-color:var(--color-primary);transform:scale(1.05)}.file-section.is-collapsed .file-section-toggle{left:-12px}.file-section-toggle:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.file-section-content{display:flex;flex-direction:column;gap:var(--space-4)}.polar-workspace{--table-width:34%;display:flex;flex:1 1;flex-direction:column;gap:var(--space-5);min-width:0;order:2}.workspace-panels{align-items:stretch;display:flex;flex:1 1;gap:var(--space-4);min-height:0;min-width:0}.polar-table-section{align-self:flex-start;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex:0 0 var(--table-width);flex-direction:column;gap:var(--space-4);max-width:var(--table-width);min-width:260px;overflow:hidden;padding:var(--space-5);width:auto}.workspace-divider{align-items:center;align-self:stretch;cursor:col-resize;display:flex;flex:0 0 20px;justify-content:center;position:relative;width:20px}.workspace-divider:before{background:var(--color-border);bottom:0;content:"";left:50%;position:absolute;top:0;transform:translateX(-50%);width:1px}.workspace-divider-handle{align-items:center;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-full);box-shadow:var(--shadow-md);display:flex;height:42px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all var(--transition-fast);width:10px}.workspace-divider-handle:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg)}.workspace-divider-handle:before{background:linear-gradient(180deg,var(--color-border),var(--color-surface-secondary));border-radius:var(--radius-full);content:"";height:20px;width:4px}@media (max-width:1279px){.app-content{padding:var(--space-4)}}@media (max-width:1023px){.file-section{width:280px}.polar-workspace{--table-width:40%}}@media (max-width:767px){.app-header-inner{align-items:stretch}.app-header-brand{align-items:flex-start}.app-header-controls{justify-content:flex-start}.app-header-controls .speed-source{width:100%}.app-content{flex-direction:column;gap:var(--space-4)}.file-section{margin-bottom:0;order:1;width:100%}.file-section-toggle{display:none}.polar-workspace{order:2}.workspace-panels{flex-direction:column}.workspace-divider{display:none}.polar-table-section{max-width:100%;width:100%}}@media (max-width:479px){.app-header{padding:var(--space-3) var(--space-4)}.app-content{padding:var(--space-3)}.timeline-fullwidth{padding:0 var(--space-3) var(--space-4)}.app-header h1{font-size:var(--font-size-xl)}.brand-logo{height:42px;width:42px}}.diagram-container{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex:1 1;flex-direction:column;gap:var(--space-3);height:100%;min-height:600px;min-width:0;padding:var(--space-5);position:relative;transition:transform var(--transition-base),box-shadow var(--transition-base);z-index:var(--z-base)}.diagram-container:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.diagram-container h2{color:var(--color-text-primary);flex-shrink:0;font-size:var(--font-size-xl);font-weight:700;margin:0;padding:0}.diagram-container .polar-diagram-container{flex:1 1;min-height:0}.timeline-fullwidth{box-sizing:border-box;margin-top:var(--space-4);padding:0 var(--space-5) var(--space-5);width:100%}.timeline-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-4) var(--space-5) var(--space-5);transition:transform var(--transition-base),box-shadow var(--transition-base)}.timeline-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.loaded-files{margin:var(--space-5) 0}.loaded-files ul{list-style-type:none;padding:0}.loaded-files li{border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--space-2) 0}.data-stats{background:var(--color-surface-secondary);color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:var(--space-5) 0}.data-stats,.load-status{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.load-status{background:var(--color-surface);display:flex;flex-direction:column;gap:var(--space-2)}.load-status-header{align-items:center;color:var(--color-text-primary);display:flex;font-size:var(--font-size-sm);font-weight:600;justify-content:space-between}.load-status-text{color:var(--color-text-tertiary);font-size:var(--font-size-xs);margin:0}.progress-bar{background:var(--color-surface-secondary);border-radius:var(--radius-full);height:6px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,var(--color-primary-dark),var(--color-primary-light));height:100%;transition:width .2s ease;width:0}.loading-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f8fafcf2;color:var(--color-text-primary);display:flex;flex-direction:column;font-size:var(--font-size-sm);gap:var(--space-2);inset:0;justify-content:center;opacity:0;padding:var(--space-3);pointer-events:none;position:absolute;text-align:center;transition:opacity .2s ease;z-index:var(--z-overlay)}.loading-overlay.is-visible{opacity:1}.loading-spinner{animation:spin .8s linear infinite;border:3px solid var(--color-surface-elevated);border-radius:50%;border-top-color:var(--color-primary);height:32px;width:32px}@keyframes spin{to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.b575b8ec.css.map*/