@import url(https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Manrope:wght@400;500;600;700;800&display=swap);@import url(https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@500;600;700&family=Manrope:wght@500;600;700&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-primary{border-color:#c9d6e3;box-shadow:0 6px 18px #00000014;padding:14px 24px}.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}.duplicate-session-overlay{align-items:center;background:#0f172a94;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:10000}.duplicate-session-modal{background:#fff;background:var(--color-surface-elevated,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:12px;box-shadow:0 24px 72px #0f172a47;max-height:90vh;overflow:auto;padding:28px;position:relative;width:min(560px,100%)}.duplicate-session-close{background:#0000;border:none;border-radius:8px;color:#64748b;color:var(--color-text-secondary,#64748b);cursor:pointer;font-size:28px;height:36px;line-height:1;position:absolute;right:12px;top:12px;width:36px}.duplicate-session-close:hover:not(:disabled){background:#f1f5f9;background:var(--color-surface-secondary,#f1f5f9);color:#0f172a;color:var(--color-text-primary,#0f172a)}.duplicate-session-header{margin-bottom:18px;padding-right:32px}.duplicate-session-header h2{color:#0f172a;color:var(--color-text-primary,#0f172a);font-size:22px;line-height:1.2;margin:0 0 6px}.duplicate-session-header p{color:#64748b;color:var(--color-text-secondary,#64748b);font-size:14px;margin:0}.duplicate-session-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;font-size:14px;margin-bottom:14px;padding:10px 12px}.duplicate-session-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.duplicate-session-item{align-items:center;background:#fff;background:var(--color-surface,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:10px 12px}.duplicate-session-item.is-selected{background:color-mix(in srgb,#2563eb 7%,#fff);background:color-mix(in srgb,var(--color-primary,#2563eb) 7%,#fff);border-color:#2563eb;border-color:var(--color-primary,#2563eb)}.duplicate-session-item input{flex:0 0 auto}.duplicate-session-item span{display:flex;flex-direction:column;gap:2px;min-width:0}.duplicate-session-item strong{color:#0f172a;color:var(--color-text-primary,#0f172a);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duplicate-session-item small{color:#64748b;color:var(--color-text-secondary,#64748b);font-size:12px}.duplicate-session-actions{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr 1fr}.duplicate-session-actions button{border:1px solid #0000;border-radius:8px;cursor:pointer;font:inherit;font-size:14px;font-weight:700;min-height:42px;padding:10px 12px}.duplicate-session-actions button:disabled{cursor:not-allowed;opacity:.62}.duplicate-session-secondary{background:#f1f5f9;background:var(--color-surface-secondary,#f1f5f9);border-color:#e5e7eb!important;border-color:var(--color-border,#e5e7eb)!important;color:#0f172a;color:var(--color-text-primary,#0f172a)}.duplicate-session-danger{background:#fef2f2;border-color:#fecaca!important;color:#b91c1c}.duplicate-session-primary{background:#2563eb;background:var(--color-primary,#2563eb);color:#fff}@media (max-width:640px){.duplicate-session-overlay{padding:12px}.duplicate-session-modal{padding:22px}.duplicate-session-actions{grid-template-columns:1fr}}.guard-overlay{align-items:center;animation:guardFadeIn .2s ease-out;background-color:#000000b3;display:flex;inset:0;justify-content:center;position:fixed;z-index:10000}@keyframes guardFadeIn{0%{opacity:0}to{opacity:1}}.guard-modal{animation:guardSlideUp .25s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:440px;padding:36px 32px;text-align:center;width:90%}@keyframes guardSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.guard-icon{color:#f59e0b;margin-bottom:16px}.guard-modal h2{color:#1a1a1a;font-size:20px;font-weight:700;margin:0 0 10px}.guard-modal p{color:#666;font-size:14px;line-height:1.5;margin:0 0 28px}.guard-actions{display:flex;flex-direction:column;gap:10px}.guard-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s;width:100%}.guard-btn-stay{background:#f5f5f5;color:#333}.guard-btn-stay:hover{background:#e8e8e8}.guard-btn-leave{background:#fff;border:2px solid #e53e3e;color:#e53e3e}.guard-btn-leave:hover{background:#fff5f5}.guard-btn-save{background:#06c;color:#fff}.guard-btn-save:hover{background:#0052a3;box-shadow:0 4px 12px #0066cc4d;transform:translateY(-1px)}.app-dialog-overlay{align-items:center;animation:appDialogFadeIn .16s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#0f172a8c;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:10050}@keyframes appDialogFadeIn{0%{opacity:0}to{opacity:1}}.app-dialog{animation:appDialogSlideUp .2s ease-out;background:#fff;border-radius:16px;box-shadow:0 24px 60px #0f172a47;max-width:440px;padding:28px 28px 24px;text-align:center;width:100%}@keyframes appDialogSlideUp{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.app-dialog-icon{align-items:center;border-radius:50%;display:flex;height:56px;justify-content:center;margin:0 auto 14px;width:56px}.app-dialog-icon svg{height:28px;width:28px}.app-dialog-icon.variant-info{background:#e0f2fe;color:#0369a1}.app-dialog-icon.variant-success{background:#dcfce7;color:#15803d}.app-dialog-icon.variant-warning{background:#fef3c7;color:#b45309}.app-dialog-icon.variant-danger{background:#fee2e2;color:#b91c1c}.app-dialog-icon.variant-confirm{background:#e0e7ff;color:#4338ca}.app-dialog-title{color:#0f172a;font-size:18px;font-weight:700;margin:0 0 8px}.app-dialog-message{color:#475569;font-size:14px;line-height:1.55;margin:0 0 22px;white-space:pre-wrap}.app-dialog-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;justify-content:center}.app-dialog-actions.is-single{justify-content:stretch}.app-dialog-btn{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-family:inherit;font-size:14px;font-weight:600;min-width:120px;padding:11px 18px;transition:background-color .14s ease,transform .14s ease,box-shadow .14s ease}.app-dialog-btn:focus-visible{outline:2px solid #6366f1;outline-offset:2px}.app-dialog-btn-cancel{background:#f1f5f9;color:#334155}.app-dialog-btn-cancel:hover{background:#e2e8f0}.app-dialog-btn-primary{background:#2563eb;color:#fff}.app-dialog-btn-primary:hover{background:#1d4ed8;box-shadow:0 6px 16px #2563eb47;transform:translateY(-1px)}.app-dialog-btn-danger{background:#dc2626;color:#fff}.app-dialog-btn-danger:hover{background:#b91c1c;box-shadow:0 6px 16px #dc262647;transform:translateY(-1px)}.app-dialog-btn-success{background:#16a34a;color:#fff}.app-dialog-btn-success:hover{background:#15803d;box-shadow:0 6px 16px #16a34a47;transform:translateY(-1px)}.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}.import-notifications{bottom:16px;display:flex;flex-direction:column;gap:8px;pointer-events:none;position:fixed;right:16px;z-index:1100}.import-notification{align-items:center;animation:import-notification-in .18s ease-out;background:#1f2937;border-left:3px solid #6b7280;border-radius:8px;box-shadow:0 4px 12px #0000002e;color:#f9fafb;display:flex;font-size:14px;gap:12px;max-width:360px;min-width:260px;padding:12px 14px;pointer-events:auto}.import-notification-body{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.import-notification-body strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-notification-body span{color:#d1d5db;font-size:13px}.import-notification-uploading{border-left-color:#3b82f6}.import-notification-processing{border-left-color:#f59e0b}.import-notification-completed{border-left-color:#10b981}.import-notification-failed{border-left-color:#ef4444}.import-notification-close{background:none;border:0;color:inherit;cursor:pointer;font-size:18px;line-height:1;opacity:.7;padding:0 4px}.import-notification-close:hover{opacity:1}@keyframes import-notification-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.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:30}.top-nav-brand{align-items:center;cursor:pointer;display:flex;gap:12px;min-width:0}.top-nav-brand img{flex-shrink:0;height:46px;width:auto}.brand-text{display:flex;flex-direction:column;line-height:1.2;min-width:0}.brand-title{font-weight:800;letter-spacing:.4px}.brand-tagline{color:var(--color-text-secondary);font-size:13px}.top-nav-burger{align-items:center;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:12px;cursor:pointer;display:none;flex-direction:column;gap:5px;height:40px;justify-content:center;padding:0;transition:background .2s ease,border-color .2s ease;width:40px}.top-nav-burger:hover{background:var(--color-surface-secondary)}.top-nav-burger span{background:var(--color-text-primary);border-radius:2px;height:2px;transition:transform .25s ease,opacity .2s ease;width:18px}.top-nav-burger.is-open span:first-child{transform:translateY(7px) rotate(45deg)}.top-nav-burger.is-open span:nth-child(2){opacity:0}.top-nav-burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.top-nav-backdrop{animation:nav-backdrop-fade .2s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a162859;display:none;inset:0;position:fixed;z-index:20}@keyframes nav-backdrop-fade{0%{opacity:0}to{opacity:1}}.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}.add-session-btn{align-items:center;background:linear-gradient(135deg,#3b82f6f5,#2dc89df5),var(--color-primary);border:1px solid #3b82f647;border-radius:var(--radius-full);box-shadow:0 14px 28px #3b82f62e;color:#fff;cursor:pointer;display:inline-flex;font:inherit;font-weight:800;gap:10px;justify-content:center;line-height:1;min-height:var(--touch-target-min);padding:8px 16px 8px 8px;transition:transform var(--transition-fast),box-shadow var(--transition-fast),filter var(--transition-fast);white-space:nowrap}.add-session-btn:hover{box-shadow:0 18px 34px #3b82f638;filter:saturate(1.04);transform:translateY(-1px)}.add-session-btn:focus-visible{outline:3px solid #3b82f63d;outline-offset:3px}.add-session-btn-icon{align-items:center;background:#ffffff29;border:1px solid #ffffff6b;border-radius:var(--radius-full);display:inline-flex;font-size:22px;font-weight:700;height:28px;justify-content:center;line-height:1;width:28px}.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.warning{background:#fff7ed;border-color:#fdba74;color:#9a3412}.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:linear-gradient(180deg,#f8fbfff5,#fffffffa),var(--color-surface-elevated);border:1px solid #94a3b847;border-radius:16px;box-shadow:var(--shadow-sm);padding:18px}.activity-card{display:flex;flex-direction:column;gap:14px}.activity-card h3{margin:4px 0 0}.activity-card.is-empty{background:linear-gradient(135deg,#3b82f60f,#2dc89d12),var(--color-surface-elevated)}.chart-head{align-items:center;display:flex;gap:16px;justify-content:space-between}.activity-progress-chart{grid-column-gap:12px;grid-row-gap:8px;align-items:stretch;column-gap:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:132px auto;row-gap:8px}.activity-chart-plot{border-bottom:1px solid var(--color-border);min-width:0}.activity-chart-plot svg{display:block;height:132px;overflow:visible;width:100%}.activity-grid-line{stroke:var(--color-border);stroke-width:1;vector-effect:non-scaling-stroke}.activity-chart-area{fill:url(#activityDistanceFill)}.activity-chart-line{fill:none;stroke:var(--color-primary);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.activity-chart-point{fill:var(--color-surface-elevated);stroke:#2dc89d;stroke:var(--sea-green);stroke-width:4;vector-effect:non-scaling-stroke}.activity-chart-point.has-value{fill:#2dc89d;fill:var(--sea-green)}.activity-chart-scale{display:flex;flex-direction:column;grid-column:2;grid-row:1;justify-content:space-between;line-height:1;white-space:nowrap}.activity-chart-scale,.activity-month-axis{color:var(--color-text-secondary);font-size:12px}.activity-month-axis{display:grid;grid-column:1;grid-row:2;grid-template-columns:repeat(12,1fr)}.activity-month-axis.is-years{grid-template-columns:repeat(5,1fr)}.activity-month-axis span{min-width:0;text-align:center}.activity-month-axis .is-muted{color:#0000}.activity-chart-hit{pointer-events:all}.activity-chart-tooltip{background:#fff;background:var(--color-surface-elevated,#fff);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 6px 16px #0000001f;color:var(--color-text-primary);font-size:12px;line-height:1.35;padding:8px 10px;pointer-events:none;position:absolute;transform:translate(-50%,calc(-100% - 12px));white-space:nowrap;z-index:5}.activity-chart-tooltip-title{font-weight:600;margin-bottom:2px;text-transform:capitalize}.activity-empty{grid-gap:24px;align-items:center;display:grid;gap:24px;grid-template-columns:minmax(220px,.55fr) 1fr;min-height:132px;padding:8px 4px 4px}.activity-empty-visual{grid-gap:8px;align-items:end;display:grid;gap:8px;grid-template-columns:repeat(12,1fr);height:72px}.activity-empty-visual span{background:linear-gradient(180deg,#cbd5e1,#94a3b8);border-radius:999px;display:block;height:8px;opacity:.55}.activity-empty-title{color:var(--color-text-primary);font-size:20px;font-weight:800;margin:0 0 6px}.activity-empty-text{color:var(--color-text-secondary);line-height:1.55;margin:0;max-width:560px}.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{border:1px solid var(--color-border);border-radius:12px;gap:16px;margin-bottom:10px;padding:12px;position:relative;transition:background-color .12s ease,border-color .12s ease,transform .12s ease}.session-delete-btn,.session-row-wrapper{align-items:center;cursor:pointer;display:flex}.session-delete-btn{background:#fff;border:1px solid var(--color-border);border-radius:50%;color:#d22;color:var(--color-danger,#d22);font-size:16px;height:24px;justify-content:center;line-height:1;opacity:0;padding:0;position:absolute;right:6px;top:6px;transition:opacity .12s ease,background-color .12s ease,transform .12s ease;width:24px;z-index:2}.session-delete-btn:focus-visible,.session-row-wrapper:hover .session-delete-btn{opacity:1}.session-delete-btn:hover{background:#d22;background:var(--color-danger,#d22);color:#fff;transform:scale(1.05)}.session-delete-btn:disabled{cursor:not-allowed;opacity:.4}.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-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}}@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{grid-template-columns:1fr}}@media (max-width:820px){.top-nav{gap:10px;grid-template-columns:1fr auto auto;padding:12px 18px}.top-nav-brand img{height:36px}.brand-title{font-size:15px}.brand-tagline{display:none}.top-nav-burger{display:flex;order:3}.top-nav-actions{order:2}.top-nav-actions .cta-btn{font-size:14px;padding:8px 14px}.top-nav-links{align-items:stretch;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 18px 40px #0a16282e;flex-direction:column;gap:4px;left:12px;opacity:0;padding:14px;pointer-events:none;position:fixed;right:12px;top:68px;transform:translateY(-12px);transition:transform .2s ease,opacity .2s ease;z-index:25}.top-nav-links.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.top-nav-backdrop{display:block}.top-nav-link{border-radius:12px;font-size:15px;padding:12px 14px;text-align:left}.user-menu-trigger .user-name{display:none}}@media (max-width:480px){.top-nav{padding:10px 14px}.top-nav-brand img{height:32px}.top-nav-links{top:60px}}@media (max-width:820px){.page-container{padding:20px 16px 64px}.page{gap:18px}.page-header{align-items:stretch;flex-direction:column;gap:12px}.page-header h1{font-size:26px;line-height:1.15}.page-header .btn,.page-header .btn.primary{font-size:15px;padding:12px 16px;width:100%}.add-session-btn{max-width:100%;width:fit-content}.chart-head,.list-head{align-items:flex-start;flex-direction:column}.activity-empty{grid-template-columns:1fr}.activity-progress-chart{column-gap:8px;grid-template-rows:112px auto}.activity-chart-plot svg{height:112px}.activity-chart-scale{font-size:11px}.activity-empty{gap:16px;min-height:0}.activity-empty-visual{height:88px}.feed-card{border-radius:12px;gap:8px;padding:14px}.feed-card-title{font-size:16px}.feed-card-stats{gap:10px}.feed-card-stat-value{font-size:15px}}.boat-detail-page-enhanced{max-width:1400px}.boat-detail-tabs{border-bottom:1px solid #0000001a;display:flex;gap:4px;margin:0 0 16px}.boat-detail-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#6b7a8a;color:var(--text-muted,#6b7a8a);cursor:pointer;font-weight:600;margin-bottom:-1px;padding:10px 18px}.boat-detail-tab.active{border-bottom-color:#2563eb;color:#0f172a;color:var(--text,#0f172a)}.boat-detail-layout{grid-gap:32px;align-items:start;display:grid;gap:32px;grid-template-columns:1fr 1fr}.boat-detail-layout:has(.boat-detail-left:only-child){grid-template-columns: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-diagram-container>.polar-controls{align-items:center;display:flex;flex-direction:row;gap:var(--space-2);justify-content:flex-end;pointer-events:none;position:absolute;right:var(--space-3);top:var(--space-3);z-index:5}.polar-diagram-container>.polar-controls>*{pointer-events:auto}.btn-generate-polar{align-items:center;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);background:#ffffffb8;border:1px solid #00000014;border-radius:999px;box-shadow:0 1px 2px #0000000a,0 4px 12px #0000000f;color:var(--color-primary);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:6px;letter-spacing:.01em;line-height:1;padding:6px 12px;transition:background var(--transition-base),color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.btn-generate-polar:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%);border-color:#0000;box-shadow:0 2px 4px #0000000f,0 8px 18px #0000001f;color:#fff;transform:translateY(-1px)}.btn-generate-polar:active:not(:disabled){box-shadow:0 1px 2px #0000000f;transform:translateY(0)}.btn-generate-polar:disabled{cursor:not-allowed;opacity:.55;transform:none}.btn-generate-polar .icon-wand{animation:sparkle 2.4s ease-in-out infinite;display:inline-block;font-size:13px}@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-color:currentcolor #0000 #0000 currentcolor;border-radius:50%;border-style:solid;border-width:1.5px;display:inline-block;height:11px;opacity:.85;width:11px}.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:radial-gradient(circle at 50% 50%,#fff 0,#f8fafc 70%,#eef2f7 100%);border-radius:var(--radius-lg);box-shadow:inset 0 1px 0 #ffffffe6,0 1px 2px #0f172a0a,0 8px 24px #0f172a0f;box-sizing:border-box;flex:1 1 540px;height:clamp(540px,78vh,920px);min-width:360px;overflow:hidden;position:relative}.chart-container:before{background-image:linear-gradient(rgba(15,23,42,.025) 1px,#0000 0),linear-gradient(90deg,rgba(15,23,42,.025) 1px,#0000 0);background-position:50%;background-size:28px 28px;content:"";mask-image:radial-gradient(circle at 50% 50%,#000 30%,#0000 75%);-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 30%,#0000 75%);opacity:.55}.chart-container:before,.polar-data-canvas{inset:0;pointer-events:none;position:absolute}.polar-data-canvas{will-change:transform}.chart-container svg{cursor:crosshair;inset:0;overflow:visible;position:absolute}.polar-legend{backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);background:#ffffffdb;border:1px solid #0f172a14;border-radius:14px;box-shadow:inset 0 1px 0 #ffffffe6,0 1px 2px #0f172a0a,0 8px 24px #0f172a14;left:var(--space-3);max-width:calc(100% - var(--space-6));padding:10px 12px;pointer-events:auto;position:absolute;top:var(--space-3);z-index:6}.polar-legend.is-half-circle{bottom:var(--space-3);left:auto;right:var(--space-3);top:auto}.polar-legend.is-half-circle .polar-legend-scale{max-width:220px}.polar-legend-header{align-items:baseline;background:#0000;border:none;border-radius:8px;cursor:pointer;display:flex;gap:10px;justify-content:space-between;margin:0 0 8px;padding:2px 6px;transition:background .14s ease;width:100%}.polar-legend-header:hover{background:#0f172a0d}.polar-legend-title{color:#0f172a;font-size:10px;font-weight:700;letter-spacing:.18em}.polar-legend-title,.polar-legend-unit{font-family:JetBrains Mono,monospace;text-transform:uppercase}.polar-legend-unit{font-feature-settings:"tnum";color:#0f172a8c;font-size:9px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.12em}.polar-legend-header.is-all .polar-legend-unit{color:#0f172a}.polar-legend-scale{display:flex;flex-wrap:wrap;gap:4px;max-width:280px}.polar-legend-chip{align-items:center;background:#0f172a0a;border:1px solid #0000;border-radius:999px;cursor:pointer;display:inline-flex;gap:5px;opacity:.42;padding:3px 8px 3px 5px;transition:background .16s ease,border-color .16s ease,transform .16s ease,opacity .16s ease,box-shadow .16s ease}.polar-legend-chip:hover{background:#0f172a14;opacity:.85;transform:translateY(-1px)}.polar-legend-chip.is-active{background:color-mix(in srgb,#0f172a 14%,#fff 86%);background:color-mix(in srgb,var(--chip-color,#0f172a) 14%,#fff 86%);border-color:color-mix(in srgb,#0f172a 45%,#0000 55%);border-color:color-mix(in srgb,var(--chip-color,#0f172a) 45%,#0000 55%);box-shadow:0 1px 2px #0f172a14;opacity:1}.polar-legend-chip.is-active:hover{background:color-mix(in srgb,#0f172a 22%,#fff 78%);background:color-mix(in srgb,var(--chip-color,#0f172a) 22%,#fff 78%)}.polar-legend-chip.is-active .polar-legend-value{color:color-mix(in srgb,#0f172a 70%,#0f172a 30%);color:color-mix(in srgb,var(--chip-color,#0f172a) 70%,#0f172a 30%)}.polar-legend-swatch{border-radius:4px;box-shadow:inset 0 0 0 1px #fff9,0 1px 2px #0f172a2e;display:inline-block;flex-shrink:0;height:12px;width:12px}.polar-legend-value{font-feature-settings:"tnum";color:#0f172a;font-family:JetBrains Mono,monospace;font-size:11px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.01em}.polar-zoom-btn.polar-half-toggle.is-active{border-color:#3b82f666;color:#3b82f6}.polar-zoom-btn.polar-half-toggle{padding:0}.polar-zoom-btn.polar-half-toggle>svg{display:block;height:100%;width:100%}.polar-diagram-controls-bar{align-items:center;display:flex;gap:var(--space-2);pointer-events:none;position:absolute;right:var(--space-3);top:var(--space-3);z-index:8}.polar-diagram-controls-bar>*{pointer-events:auto}.polar-view-toggle{backdrop-filter:blur(16px) saturate(170%);-webkit-backdrop-filter:blur(16px) saturate(170%);background:linear-gradient(180deg,#fffffff0,#f8fafce0);border:1px solid #0f172a17;border-radius:14px;box-shadow:inset 0 1px 0 #fffffff2,0 1px 2px #0f172a0a,0 10px 28px -8px #0f172a2e;display:inline-flex;flex-shrink:0;padding:3px}.polar-zoom-controls{align-items:stretch;backdrop-filter:blur(16px) saturate(170%);-webkit-backdrop-filter:blur(16px) saturate(170%);background:linear-gradient(180deg,#fffffff0,#f8fafce0);border:1px solid #0f172a17;border-radius:14px;box-shadow:inset 0 1px 0 #fffffff2,inset 0 0 0 1px #fff6,0 1px 2px #0f172a0a,0 10px 28px -8px #0f172a2e;display:flex;flex-shrink:0;gap:3px;padding:3px;z-index:8}.polar-zoom-btn{align-items:center;background:linear-gradient(180deg,#ffffffa6,#f1f5f98c);border:1px solid #0f172a0f;border-radius:9px;box-shadow:inset 0 1px 0 #fffc,0 1px 1px #0f172a08;color:#0f172a;cursor:pointer;display:inline-flex;height:28px;justify-content:center;position:relative;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .12s ease,box-shadow .18s ease;width:28px}.polar-zoom-btn:hover:not(:disabled){background:linear-gradient(180deg,#fffffff2,#e2e8f0d9);border-color:#0f172a24;box-shadow:inset 0 1px 0 #ffffffe6,0 2px 6px #0f172a14;color:#0b1220}.polar-zoom-btn:active:not(:disabled){background:linear-gradient(180deg,#e2e8f0f2,#f1f5f9d9);box-shadow:inset 0 1px 2px #0f172a14,0 0 0 #0f172a00;transform:translateY(1px)}.polar-zoom-btn:focus-visible{outline:2px solid #0e74908c;outline-offset:1px}.polar-zoom-btn:disabled{background:#f1f5f966;cursor:not-allowed;opacity:.32}.polar-zoom-display{align-items:center;background:linear-gradient(180deg,#0f172a0a,rgba(15,23,42,.015));border:1px solid #0f172a0d;border-radius:9px;display:flex;flex-direction:column;gap:2px;justify-content:center;min-width:52px;padding:2px 6px 3px}.polar-zoom-readout{font-feature-settings:"tnum";align-items:baseline;color:#0f172a;display:inline-flex;font-family:JetBrains Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;gap:1px;line-height:1}.polar-zoom-readout-value{font-size:11px;font-weight:700;letter-spacing:-.01em}.polar-zoom-readout-unit{color:#0f172a8c;font-size:9px;font-weight:500;letter-spacing:.04em;margin-left:1px}.polar-zoom-track{align-items:center;display:flex;gap:3px;height:6px}.polar-zoom-dot{background:#0f172a24;border-radius:2px;height:3px;transition:background .2s ease,box-shadow .2s ease,transform .2s ease;width:6px}.polar-zoom-dot.is-on{background:linear-gradient(90deg,#0ea5e9,#0284c7)}.polar-zoom-dot.is-current{background:linear-gradient(90deg,#06b6d4,#0e7490);box-shadow:0 0 6px #0ea5e973;width:8px}.loading-overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#f8fafcd9;gap:12px;z-index:10}.loading-overlay.is-visible{pointer-events:auto}.loading-overlay span{color:#0f172a;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.loading-spinner{animation:spin .9s linear infinite;border:2.5px solid #3b82f633;border-top:2.5px solid var(--color-primary);height:30px;width:30px}.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 .16s ease,opacity .16s ease}.curve:hover{stroke-width:2.5;opacity:1}.control-point{cursor:pointer;transition:opacity .16s ease,r .16s ease,stroke-width .16s ease}.control-point:hover{opacity:1}.drag-readout{filter:drop-shadow(0 8px 18px rgba(15,23,42,.25));pointer-events:none;transition:opacity .12s ease}.drag-readout-bg{filter:drop-shadow(0 1px 0 rgba(255,255,255,.05))}.vmg-group{isolation:isolate;pointer-events:none}.vmg-item{--vmg-beam-width:1.3;--vmg-chevron-width:1.2;animation:vmg-fade-in .36s cubic-bezier(.22,.94,.32,1.18) both;transition:opacity .18s ease}.vmg-beacon,.vmg-hit{cursor:default;pointer-events:auto}@keyframes vmg-fade-in{0%{opacity:0}to{opacity:1}}.vmg-beam{stroke-width:var(--vmg-beam-width);stroke-linecap:round;opacity:.78;transition:opacity .18s ease,stroke-width .18s ease}.vmg-chevron{stroke-width:var(--vmg-chevron-width);stroke-linecap:round;stroke-linejoin:round;opacity:.9}.vmg-leader{stroke-width:.9;stroke-dasharray:1.5 2.2;opacity:.42;transition:opacity .18s ease}.vmg-beacon{filter:drop-shadow(0 1px 2px rgba(15,23,42,.18)) drop-shadow(0 4px 10px rgba(15,23,42,.12));transition:filter .2s ease}.vmg-pulse{animation:vmg-pulse 2.4s cubic-bezier(.4,0,.2,1) infinite;opacity:.18;transform-box:fill-box;transform-origin:center}@keyframes vmg-pulse{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.04;transform:scale(1.55)}}.vmg-diamond-outer{stroke-width:2.4}.vmg-glyph{fill:#fff;font-family:JetBrains Mono,IBM Plex Mono,monospace;font-size:7px;font-weight:800;letter-spacing:-.02em;pointer-events:none}.vmg-label-shadow{fill:#0f172a2e;filter:blur(2px)}.vmg-label-bg{fill:#0f172af0;stroke-width:1.2}.vmg-label-kicker{fill:#f8fafc9e;font-family:JetBrains Mono,IBM Plex Mono,monospace;font-size:7.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.vmg-label-value{font-feature-settings:"tnum";fill:#f8fafc;font-size:13px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.02em}.vmg-label-angle,.vmg-label-value{font-family:JetBrains Mono,IBM Plex Mono,monospace}.vmg-label-angle{font-feature-settings:"tnum";fill:#f8fafcc7;font-size:11px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.01em}.vmg-group.vmg-multi .vmg-label,.vmg-group.vmg-multi .vmg-leader{opacity:0;pointer-events:none;transition:opacity .18s ease}.vmg-group.vmg-multi .vmg-item:hover .vmg-label{opacity:1}.vmg-group.vmg-multi .vmg-item:hover .vmg-leader{opacity:.55}.vmg-group:hover .vmg-item{opacity:.4}.vmg-group:hover .vmg-item:hover,.vmg-item:hover{opacity:1}.vmg-item:hover .vmg-beam{stroke-width:calc(var(--vmg-beam-width) + .5);opacity:1}.vmg-item:hover .vmg-beacon{filter:drop-shadow(0 0 6px rgba(59,130,246,.5)) drop-shadow(0 4px 12px rgba(15,23,42,.28))}@media (max-width:767px){.polar-diagram-container{gap:var(--space-2)}.polar-diagram-container>.polar-controls{align-self:stretch;margin-bottom:0;pointer-events:auto;position:static;z-index:auto}.chart-content{flex-direction:column;min-width:0}.chart-container{height:clamp(320px,60vh,450px);min-height:320px;min-width:0;width:100%}.polar-legend{border-radius:12px;box-sizing:border-box;max-width:none;padding:8px 10px;position:static;width:100%}.polar-legend-header{margin-bottom:6px}.polar-legend-scale{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;max-width:none;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;scrollbar-width:none}.polar-legend-scale::-webkit-scrollbar{display:none}.polar-legend-chip{flex:0 0 auto;padding:2px 6px 2px 4px}.polar-legend-value{font-size:10px}.polar-diagram-controls-bar{right:var(--space-2);top:var(--space-2)}}@media (max-width:479px){.chart-container{height:clamp(280px,65vh,400px);min-height:280px}}.app-toast-stack{display:flex;flex-direction:column;gap:10px;pointer-events:none;position:fixed;right:24px;top:84px;width:min(380px,calc(100vw - 32px));z-index:9999}.app-toast{align-items:stretch;animation:app-toast-in .32s cubic-bezier(.18,.89,.32,1.18) both;backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);background:#fffffff0;border:1px solid #0f172a14;border-radius:14px;box-shadow:inset 0 1px 0 #fffffff2,0 2px 6px #0f172a0f,0 18px 40px #0f172a29;display:flex;gap:0;overflow:hidden;pointer-events:auto;position:relative;transform-origin:top right;width:100%}@keyframes app-toast-in{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.app-toast__accent{background:#3b82f6;background:var(--toast-accent,#3b82f6);box-shadow:inset 0 0 0 1px #fff6,0 0 12px color-mix(in srgb,#3b82f6 35%,#0000);box-shadow:inset 0 0 0 1px #fff6,0 0 12px color-mix(in srgb,var(--toast-accent,#3b82f6) 35%,#0000);flex-shrink:0;width:3px}.app-toast--success{--toast-accent:#10b981;--toast-tint:#10b9810f}.app-toast--warning{--toast-accent:#f59e0b;--toast-tint:#f59e0b0f}.app-toast--error{--toast-accent:#ef4444;--toast-tint:#ef44440f}.app-toast--info{--toast-accent:#3b82f6;--toast-tint:#3b82f60f}.app-toast:before{background:#0000;background:var(--toast-tint,#0000);content:"";inset:0;pointer-events:none;position:absolute}.app-toast__body{flex:1 1;min-width:0;padding:12px 14px 13px;position:relative}.app-toast__head{align-items:center;display:flex;gap:8px;margin-bottom:4px}.app-toast__badge{background:color-mix(in srgb,#3b82f6 8%,#fff);background:color-mix(in srgb,var(--toast-accent,#3b82f6) 8%,#fff);border:1px solid color-mix(in srgb,#3b82f6 35%,#0000);border:1px solid color-mix(in srgb,var(--toast-accent,#3b82f6) 35%,#0000);border-radius:4px;color:#3b82f6;color:var(--toast-accent,#3b82f6);font-weight:700;letter-spacing:.18em;line-height:1.1;padding:2px 6px}.app-toast__badge,.app-toast__subtitle{font-family:JetBrains Mono,monospace;font-size:9px;text-transform:uppercase}.app-toast__subtitle{color:#0f172a80;font-weight:600;letter-spacing:.16em}.app-toast__title{color:#0f172a;font-size:14px;font-weight:700;letter-spacing:-.01em;line-height:1.25;padding-right:24px}.app-toast__message,.app-toast__title{font-family:Manrope,system-ui,sans-serif;margin:0 0 6px}.app-toast__message{color:#0f172abd;font-size:12px;font-weight:500;line-height:1.45}.app-toast__metrics{grid-gap:1px;background:#0f172a12;border-bottom:1px solid #0f172a0d;border-top:1px solid #0f172a0d;display:grid;gap:1px;grid-template-columns:1fr 1fr;margin:8px -14px 6px;padding:0}.app-toast__metric{background:#ffffffd9;display:flex;flex-direction:column;gap:1px;padding:7px 14px}.app-toast__metric dt{color:#0f172a85;font-family:JetBrains Mono,monospace;font-size:8.5px;font-weight:600;letter-spacing:.14em;line-height:1.2;text-transform:uppercase}.app-toast__metric dd{font-feature-settings:"tnum";align-items:baseline;display:flex;font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums;gap:6px;line-height:1.15;margin:0}.app-toast__metric-value{color:#0f172a;font-size:14px;font-weight:700;letter-spacing:-.01em}.app-toast__metric-detail{color:#0f172a73;font-size:9px;font-weight:600;letter-spacing:.04em}.app-toast__list{display:flex;flex-direction:column;gap:3px;list-style:none;margin:6px 0 4px;padding:0}.app-toast__list li{color:#0f172ab8;font-family:Manrope,system-ui,sans-serif;font-size:11.5px;font-weight:500;line-height:1.4;padding-left:14px;position:relative}.app-toast__list li:before{background:#3b82f6;background:var(--toast-accent,#3b82f6);content:"";height:1px;left:2px;opacity:.7;position:absolute;top:.6em;width:6px}.app-toast__note{border-top:1px dashed #0f172a1a;color:#0f172a99;font-family:Manrope,system-ui,sans-serif;font-size:11px;font-style:italic;font-weight:500;line-height:1.4;margin:8px 0 0;padding-top:8px}.app-toast__close{align-items:center;background:#0f172a0a;border:none;border-radius:6px;color:#0f172a80;cursor:pointer;display:inline-flex;height:22px;justify-content:center;padding:0;position:absolute;right:8px;top:8px;transition:background .14s ease,color .14s ease,transform .14s ease;width:22px;z-index:2}.app-toast__close:hover{background:#0f172a1a;color:#0f172a;transform:rotate(90deg)}.app-toast__close:active{transform:rotate(90deg) scale(.92)}.app-toast__progress{animation:app-toast-progress linear forwards;background:linear-gradient(90deg,#3b82f6,color-mix(in srgb,#3b82f6 60%,#fff));background:linear-gradient(90deg,var(--toast-accent,#3b82f6) 0,color-mix(in srgb,var(--toast-accent,#3b82f6) 60%,#fff) 100%);border-bottom-right-radius:14px;bottom:0;height:2px;left:3px;opacity:.85;position:absolute;right:0;transform-origin:left center}@keyframes app-toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (max-width:767px){.app-toast-stack{left:12px;right:12px;top:72px;width:auto}}@media (prefers-reduced-motion:reduce){.app-toast{animation:none}.app-toast__progress{animation:none;opacity:.4}.app-toast__close:hover{transform:none}}.psw{align-items:flex-end;font-family:Manrope,system-ui,sans-serif;gap:6px;pointer-events:auto;position:absolute;right:var(--space-3);top:calc(var(--space-3) + 64px);z-index:7}.psw,.psw-stack{display:flex;flex-direction:column}.psw-stack{align-items:stretch;animation:psw-fade-in .22s cubic-bezier(.22,.94,.32,1.06) both;backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);background:#ffffffe0;border:1px solid #0f172a12;border-radius:16px;box-shadow:inset 0 1px 0 #fffffff2,0 1px 2px #0f172a0a,0 10px 28px -8px #0f172a1f;padding:8px;width:256px}@keyframes psw-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.psw-generate{align-items:center;background:linear-gradient(135deg,#0ea5e9,#6366f1);border:none;border-radius:11px;box-shadow:inset 0 1px 0 #ffffff38,0 6px 18px -4px #0ea5e973;color:#fff;cursor:pointer;display:flex;font-family:Manrope,system-ui,sans-serif;font-size:12.5px;font-weight:700;gap:9px;letter-spacing:-.01em;padding:11px 14px;position:relative;transition:transform .14s ease,box-shadow .22s ease,filter .2s ease}.psw-generate:hover:not(:disabled){box-shadow:inset 0 1px 0 #ffffff40,0 10px 24px -4px #0ea5e98c;filter:brightness(1.05);transform:translateY(-1px)}.psw-generate:active:not(:disabled){transform:translateY(0)}.psw-generate.is-disabled,.psw-generate:disabled{background:linear-gradient(135deg,#94a3b88c,#94a3b873);box-shadow:inset 0 1px 0 #ffffff2e,0 2px 6px -1px #0f172a14;color:#ffffffd1;cursor:not-allowed;filter:none;transform:none}.psw-generate-icon{align-items:center;display:inline-flex;filter:drop-shadow(0 1px 1px rgba(0,0,0,.18));flex-shrink:0;font-size:15px;justify-content:center;line-height:1}.psw-generate-label{flex:1 1;text-align:left}.psw-spinner{animation:psw-spin .7s linear infinite;border-color:currentcolor #0000 #0000 currentcolor;border-radius:50%;border-style:solid;border-width:1.7px;display:inline-block;height:12px;opacity:.92;width:12px}@keyframes psw-spin{to{transform:rotate(1turn)}}.psw-divider{align-items:center;display:flex;gap:8px;padding:7px 4px;-webkit-user-select:none;user-select:none}.psw-divider-line{background:linear-gradient(90deg,#0000,#0f172a24 50%,#0000);flex:1 1;height:1px}.psw-divider-word{color:#0f172a6b;font-family:JetBrains Mono,ui-monospace,monospace;font-size:9px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.psw-select{align-items:center;background:#ffffffb3;border:1px solid #0f172a1a;border-radius:11px;color:#0f172a;cursor:pointer;display:flex;font-family:Manrope,system-ui,sans-serif;font-size:12px;font-weight:600;gap:9px;letter-spacing:-.005em;padding:10px 12px;text-align:left;transition:background .16s ease,border-color .16s ease,box-shadow .2s ease,transform .12s ease,color .16s ease}.psw-select:hover{background:#fff;border-color:#0f172a29;box-shadow:0 4px 12px -4px #0f172a1f}.psw-select:active{transform:translateY(1px)}.psw-select.is-open{background:#0f172a;border-color:#0000;box-shadow:0 4px 14px -3px #0f172a59;color:#f8fafc}.psw-select-icon{align-items:center;background:#0ea5e91f;border-radius:7px;color:#0284c7;display:inline-flex;flex-shrink:0;font-size:14px;font-weight:700;height:22px;justify-content:center;line-height:1;transition:background .16s ease,color .16s ease;width:22px}.psw-select.is-open .psw-select-icon{background:#ffffff24;color:#f8fafc}.psw-select-label{flex:1 1}.psw-select-caret{color:currentColor;flex-shrink:0;font-size:12px;line-height:1;opacity:.5;transition:transform .22s ease,opacity .16s ease}.psw-select-caret.is-open{opacity:1;transform:rotate(180deg)}.psw-active{align-items:stretch;animation:psw-chip-in .24s cubic-bezier(.22,.94,.32,1.18) both;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);background:#ffffffeb;border:1px solid #0f172a17;border-radius:999px;box-shadow:inset 0 1px 0 #fffffff2,0 1px 2px #0f172a0a,0 8px 22px -6px #0f172a24;display:inline-flex;gap:0;overflow:hidden;padding:0;transition:box-shadow .22s ease,border-color .2s ease}.psw-active.is-open{border-color:#0f172a2e;box-shadow:inset 0 1px 0 #fffffff2,0 1px 2px #0f172a0a,0 12px 28px -6px #0f172a38}@keyframes psw-chip-in{0%{opacity:0;transform:translateY(-3px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.psw-active-main{align-items:center;background:#0000;border:none;color:#0f172a;cursor:pointer;display:inline-flex;font-family:Manrope,system-ui,sans-serif;gap:9px;max-width:320px;padding:9px 6px 9px 14px;text-align:left;transition:background .16s ease}.psw-active-main:hover{background:#0f172a0a}.psw-active.is-open .psw-active-main{background:#0f172a0f}.psw-active-dot{animation:psw-pulse 2.4s ease-in-out infinite;background:#0ea5e9;border-radius:50%;box-shadow:0 0 0 3px #0ea5e92e;flex-shrink:0;height:8px;width:8px}@keyframes psw-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.75)}}.psw-active-body{align-items:baseline;display:inline-flex;gap:7px;min-width:0;overflow:hidden}.psw-active-name{color:#0f172a;font-size:12.5px;font-weight:700;letter-spacing:-.01em;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.psw-active-meta{color:#0f172a80;flex-shrink:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;font-weight:600;letter-spacing:.04em;white-space:nowrap}.psw-active-close{align-items:center;background:#0000;border:none;border-left:1px solid #0f172a14;color:#0f172a8c;cursor:pointer;display:inline-flex;flex-shrink:0;font-family:Manrope,system-ui,sans-serif;font-size:20px;font-weight:400;justify-content:center;line-height:1;position:relative;transition:background .16s ease,color .16s ease,transform .18s cubic-bezier(.22,.94,.32,1.2);width:36px}.psw-active-close span{display:inline-block;line-height:1;margin-top:-1px;transition:transform .18s cubic-bezier(.22,.94,.32,1.2)}.psw-active-close:hover{background:linear-gradient(180deg,#fee2e299,#fecaca99);border-left-color:#dc262633;color:#dc2626}.psw-active-close:hover span{transform:rotate(90deg) scale(1.15)}.psw-active-close:active span{transform:rotate(90deg) scale(.92)}.psw-undo{align-items:center;backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);background:#ffffffd1;border:1px solid #0f172a0f;border-radius:999px;color:#0f172ab8;cursor:pointer;display:inline-flex;font-family:Manrope,system-ui,sans-serif;font-size:11px;font-weight:600;gap:6px;letter-spacing:-.005em;padding:5px 10px 5px 9px;transition:background .16s ease,color .16s ease,border-color .16s ease}.psw-undo:hover{background:#fff;border-color:#0ea5e938;color:#0284c7}.psw-undo-count{font-feature-settings:"tnum";align-items:center;background:#0ea5e924;border-radius:999px;color:#0369a1;display:inline-flex;font-family:JetBrains Mono,monospace;font-size:9.5px;font-variant-numeric:tabular-nums;font-weight:700;height:15px;justify-content:center;min-width:16px;padding:0 4px}.psw-popover{animation:psw-pop-in .2s cubic-bezier(.22,.94,.32,1.12) both;backdrop-filter:blur(20px) saturate(170%);-webkit-backdrop-filter:blur(20px) saturate(170%);background:#fffffff7;border:1px solid #0f172a1a;border-radius:16px;box-shadow:inset 0 1px 0 #fffffff2,0 8px 24px -8px #0f172a2e,0 20px 50px -20px #0f172a59;display:flex;flex-direction:column;max-height:min(70vh,540px);max-width:calc(100vw - 32px);padding:10px;width:320px}@keyframes psw-pop-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.psw-popover-header{align-items:center;border-bottom:1px solid #0f172a0f;display:flex;gap:8px;margin-bottom:6px;padding:4px 6px 8px}.psw-popover-eyebrow{color:#0f172ab3;flex:1 1;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.psw-popover-back{align-items:center;background:#0f172a0d;border:none;border-radius:6px;color:#0f172a;cursor:pointer;display:inline-flex;font-family:Manrope,system-ui,sans-serif;font-size:16px;font-weight:600;height:22px;justify-content:center;line-height:1;transition:background .16s ease;width:22px}.psw-popover-back:hover{background:#0f172a1a}.psw-popover-foot{align-items:center;border-top:1px solid #0f172a0d;color:#22c55ee6;display:flex;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;gap:6px;letter-spacing:.06em;margin-top:4px;padding:8px 6px 2px;text-transform:uppercase}.psw-menu-item{align-items:center;background:#0000;border:1px solid #0000;border-radius:10px;color:#0f172a;cursor:pointer;display:flex;font-family:Manrope,system-ui,sans-serif;gap:10px;padding:9px 10px;text-align:left;transition:background .16s ease,border-color .16s ease,transform .12s ease;width:100%}.psw-menu-item:hover:not(:disabled){background:#0f172a0a;border-color:#0f172a14}.psw-menu-item:active:not(:disabled){transform:translateY(1px)}.psw-menu-item:disabled{cursor:not-allowed;opacity:.45}.psw-menu-item--featured{background:linear-gradient(135deg,#0ea5e914,#6366f112);border-color:#0ea5e92e}.psw-menu-item--featured:hover:not(:disabled){background:linear-gradient(135deg,#0ea5e921,#6366f11c);border-color:#0ea5e947}.psw-menu-glyph{align-items:center;background:#ffffffd9;border:1px solid #0f172a0f;border-radius:8px;box-shadow:0 1px 2px #0f172a0d;display:inline-flex;flex-shrink:0;font-size:15px;height:30px;justify-content:center;line-height:1;width:30px}.psw-menu-glyph--accent{background:linear-gradient(135deg,#0ea5e926,#6366f126);border-color:#0ea5e940;box-shadow:0 2px 6px -1px #0ea5e92e}.psw-menu-text{display:flex;flex:1 1;flex-direction:column;min-width:0}.psw-menu-title{color:#0f172a;font-size:12px;font-weight:700;letter-spacing:-.01em}.psw-menu-sub{color:#0f172a99;flex-wrap:wrap;font-size:10.5px;gap:4px;margin-top:2px}.psw-format-tag,.psw-menu-sub{align-items:center;display:inline-flex}.psw-format-tag{background:#0ea5e91a;border-radius:4px;color:#0369a1;font-family:JetBrains Mono,monospace;font-size:9.5px;font-weight:700;letter-spacing:.02em;padding:1px 5px}.psw-menu-arrow{color:#0f172a59;flex-shrink:0;font-size:15px;font-weight:600;line-height:1}.psw-menu-login{align-items:center;background:#0f172a;border-radius:999px;color:#f8fafc;cursor:pointer;display:inline-flex;flex-shrink:0;font-family:Manrope,system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.02em;padding:4px 10px;transition:background .16s ease,transform .12s ease,box-shadow .2s ease}.psw-menu-login:hover{background:#1e293b;box-shadow:0 4px 12px -3px #0f172a59;transform:translateY(-1px)}.psw-menu-login:active{transform:translateY(0)}.psw-search{background:#fffc;border:1px solid #0f172a1f;border-radius:8px;color:#0f172a;font-family:inherit;font-size:12px;margin-bottom:6px;outline:none;padding:7px 10px;transition:border-color .16s ease,box-shadow .16s ease;width:100%}.psw-search:focus{border-color:#0ea5e9;border-color:var(--color-primary,#0ea5e9);box-shadow:0 0 0 3px #0ea5e92e}.psw-list{display:flex;flex:1 1;flex-direction:column;gap:2px;min-height:80px;overflow-y:auto;padding-right:2px}.psw-list::-webkit-scrollbar{width:6px}.psw-list::-webkit-scrollbar-thumb{background:#0f172a2e;border-radius:999px}.psw-boat-group{display:flex;flex-direction:column;gap:2px;margin-bottom:6px}.psw-boat-name{align-items:center;color:#0f172a99;display:inline-flex;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;gap:6px;letter-spacing:.1em;padding:4px 8px;text-transform:uppercase}.psw-list-item{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:#0f172a;cursor:pointer;display:flex;font-family:Manrope,system-ui,sans-serif;font-size:12px;font-weight:500;gap:8px;justify-content:space-between;padding:7px 10px;text-align:left;transition:background .14s ease,border-color .14s ease}.psw-list-item:hover{background:#0f172a0d}.psw-list-item.is-active{background:#0ea5e91f;border-color:#0ea5e940;font-weight:700}.psw-list-item-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.psw-list-item-badge{background:#0f172a0f;border-radius:4px;color:#0f172a99;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700;letter-spacing:.08em;padding:2px 5px;text-transform:uppercase}.psw-empty{color:#0f172a80;font-size:11px;padding:24px 8px;text-align:center}@media (max-width:767px){.psw-stack{width:232px}.psw-generate{font-size:12px;padding:10px 12px}.psw-active-name{max-width:140px}.psw-active-main{padding-left:12px}}@media (max-width:479px){.psw{align-items:stretch;left:var(--space-2);right:var(--space-2);top:calc(var(--space-2) + 60px)}.psw-stack{width:100%}.psw-active{align-self:flex-end}.psw-popover{width:100%}}.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{align-items:center;background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 12px;transition:background-color .3s ease}.polar-table-export-btn:hover{background-color:#0056b3}.polar-table-export-btn:disabled{background-color:#ccc;cursor:not-allowed}.polar-table-export-icon{align-items:center;display:flex}.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}}.saildeck-editor{display:flex;flex-direction:column;gap:24px}.saildeck-section-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.saildeck-section-actions{display:flex;gap:8px}.sail-group{margin:12px 0}.sail-group h3{color:#6b7a8a;color:var(--text-muted,#6b7a8a);font-size:14px;letter-spacing:.06em;margin:12px 0 8px;text-transform:uppercase}.sail-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.sail-row{grid-gap:12px;align-items:center;background:#00000005;border:1px solid #00000014;border-radius:8px;display:grid;gap:12px;grid-template-columns:1fr auto auto;padding:8px 12px}.sail-row input[type=text]{background:#fff;border:1px solid #0000001a;border-radius:6px;font:inherit;padding:6px 8px}.sail-row-ris{align-items:center;color:#6b7a8a;color:var(--text-muted,#6b7a8a);display:flex;font-size:12px;gap:6px}.sail-row-ris select{background:#fff;border:1px solid #0000001a;border-radius:6px;padding:4px 8px}.config-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0 0 12px;padding:0}.config-row{align-items:center;background:#00000005;border:1px solid #00000014;border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.config-row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.config-row-main .muted{font-size:12px}.config-row-actions{display:flex;gap:6px}.config-editor{background:#00000005;border:1px solid #0000001f;border-radius:10px;display:flex;flex-direction:column;gap:14px;margin-top:16px;padding:16px}.config-editor-group h4{color:#6b7a8a;color:var(--text-muted,#6b7a8a);font-size:13px;letter-spacing:.06em;margin:0 0 8px;text-transform:uppercase}.config-sail-options{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.config-sail-option{align-items:center;background:#fff;border:1px solid #00000014;border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:8px 12px}.config-sail-option.selected{background:#2563eb0d;border-color:#2563eb}.config-sail-name{font-weight:600}.config-sail-ris-options{display:flex;flex-wrap:wrap;gap:4px}.btn-ris{background:#fff;border:1px solid #0000001f;border-radius:999px;cursor:pointer;font-size:12px;padding:4px 10px}.btn-ris.active{background:#2563eb;border-color:#2563eb;color:#fff}.config-editor-actions{display:flex;gap:8px;justify-content:flex-end}.muted{color:#6b7a8a;color:var(--text-muted,#6b7a8a)}.timeline-map{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);height:clamp(260px,40vh,360px);overflow:hidden;position:relative;width:100%}@media (min-width:1024px){.timeline-body .timeline-map-section .timeline-map:not(.timeline-map--fullscreen){flex:0 0 auto;height:clamp(600px,84vh,1320px);min-height:560px}}.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:50px;top:10px;transition:background .15s;width:32px;z-index:10}.timeline-map-gpx-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--fullscreen .timeline-map-fullscreen-btn,.timeline-map--fullscreen .timeline-map-gpx-btn{top:calc(10px + env(safe-area-inset-top, 0px))}.timeline-map--fullscreen .timeline-map-fullscreen-btn{right:calc(10px + env(safe-area-inset-right, 0px))}.timeline-map--fullscreen .timeline-map-gpx-btn{right:calc(50px + env(safe-area-inset-right, 0px))}@media (max-width:1023px) and (pointer:coarse){.timeline-map--fullscreen .timeline-map-fullscreen-btn,.timeline-map--fullscreen .timeline-map-gpx-btn{border-radius:12px;box-shadow:0 4px 14px #0f172a47;height:42px;width:42px}.timeline-map--fullscreen .timeline-map-fullscreen-btn svg,.timeline-map--fullscreen .timeline-map-gpx-btn svg{height:20px;width:20px}.timeline-map--fullscreen .timeline-map-gpx-btn{right:calc(62px + env(safe-area-inset-right, 0px))}}.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;cursor:pointer}.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}.boat-readout{animation:boat-readout-in .16s cubic-bezier(.22,1,.36,1);filter:drop-shadow(0 10px 22px rgba(8,19,28,.45));pointer-events:auto;position:absolute;transform:translate(-50%,calc(-100% - 20px));z-index:20}@keyframes boat-readout-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 8px)) scale(.94)}to{opacity:1;transform:translate(-50%,calc(-100% - 20px)) scale(1)}}.boat-readout__card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(168deg,#111e29f5,#0b151ef5);border:1px solid #78c8d238;border-radius:12px;box-shadow:inset 0 1px 0 #ffffff0f;min-width:184px;padding:9px 12px 11px;position:relative}.boat-readout__header{align-items:center;display:flex;gap:7px;margin-bottom:9px}.boat-readout__dot{background:#2a9d8f;border-radius:50%;box-shadow:0 0 0 3px #2a9d8f38;height:7px;width:7px}.boat-readout__title{color:#b4cdd6d9;font-size:10px;letter-spacing:.18em}.boat-readout__pol,.boat-readout__title{font-family:source-code-pro,Menlo,Monaco,Consolas,monospace;font-weight:700}.boat-readout__pol{font-feature-settings:"tnum";font-size:16px;font-variant-numeric:tabular-nums;line-height:1;margin-left:auto}.boat-readout__pol small{font-size:8px;font-weight:600;letter-spacing:.08em;margin-left:2px;opacity:.7}.boat-readout__pol.is-good{color:#4fd1c5}.boat-readout__pol.is-low{color:#f3a35c}.boat-readout__grid{grid-gap:6px 14px;display:grid;gap:6px 14px;grid-template-columns:1fr 1fr}.boat-readout__metric{display:flex;flex-direction:column;gap:1px}.boat-readout__label{color:#8caab6bf;font-size:9px;font-weight:600;letter-spacing:.14em}.boat-readout__label,.boat-readout__value{font-family:source-code-pro,Menlo,Monaco,Consolas,monospace}.boat-readout__value{font-feature-settings:"tnum";color:#eaf4f6;font-size:19px;font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.boat-readout__unit{color:#8caab6b3;font-size:9px;font-weight:500;margin-left:3px}.boat-readout__pointer{background:#0b151ef5;border-bottom:1px solid #78c8d238;border-right:1px solid #78c8d238;bottom:-6px;height:12px;left:50%;position:absolute;transform:translateX(-50%) rotate(45deg);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{display:flex;flex-wrap:wrap;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}.psm-root{display:inline-block;position:relative}.psm-root,.psm-trigger{width:100%}.psm-popover{left:0;margin-inline:auto;position:absolute;right:0;top:calc(100% + 6px);z-index:20}@media (max-width:479px){.psm-popover{left:0;right:0;width:100%}}.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}.dropzone-content{align-items:center;display:flex;flex-direction:column;gap:var(--space-2)}.example-log-button{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;font-family:inherit;font-size:var(--font-size-sm);font-weight:600;padding:var(--space-2) var(--space-3);transition:all var(--transition-base)}.example-log-button:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.example-log-button:disabled{cursor:wait;opacity:.65}@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)}.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-view.is-side-by-side{align-items:stretch;flex-direction:row}.polar-generator-view.is-side-by-side>.polar-generator-diagram,.polar-generator-view.is-side-by-side>.polar-generator-table{flex:1 1 50%;min-width:0;width:50%}.polar-generator-view.is-side-by-side>.polar-generator-table{max-height:none;overflow:auto}.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}.polar-generator-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-3)}.polar-generator-filter{margin-bottom:var(--space-4)}.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)}@media (max-width:767px){.polar-generator-view.is-mobile{gap:var(--space-3)}.polar-generator-view.is-mobile .polar-generator-diagram{background:radial-gradient(120% 80% at 50% 0,#f1f5f9 0,#fff 60%) padding-box;border:1px solid #0f172a14;border-radius:18px;box-shadow:inset 0 1px 0 #ffffffe6,0 18px 38px -22px #0f172a38;height:calc(100dvh - 140px);min-height:0;overflow:hidden;padding:10px;position:relative}.polar-generator-view.is-mobile .polar-generator-toolbar{margin-bottom:6px}.polar-generator-view.is-mobile .polar-generator-toolbar h2{color:#0f172a99;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.polar-generator-view.is-mobile .polar-diagram-container{display:flex;flex:1 1;flex-direction:column;gap:8px;min-height:0}.polar-generator-view.is-mobile .polar-legend{align-items:center;border-radius:12px;box-sizing:border-box;display:flex;gap:8px;max-width:none;padding:5px 8px 6px;position:static;width:100%}.polar-generator-view.is-mobile .polar-legend-header{align-items:flex-start;flex:0 0 auto;flex-direction:column;gap:0;margin:0;padding:1px 4px;width:auto}.polar-generator-view.is-mobile .polar-legend-title{font-size:9px;letter-spacing:.2em;line-height:1.1}.polar-generator-view.is-mobile .polar-legend-unit{font-size:8px;letter-spacing:.1em;line-height:1.2}.polar-generator-view.is-mobile .polar-legend-scale{flex:1 1;flex-wrap:nowrap;margin:0;mask-image:linear-gradient(90deg,#0000,#000 12px,#000 calc(100% - 12px),#0000);-webkit-mask-image:linear-gradient(90deg,#0000,#000 12px,#000 calc(100% - 12px),#0000);min-width:0;overflow-x:auto;overflow-y:hidden;padding:0 2px 1px;scrollbar-width:none}.polar-generator-view.is-mobile .polar-legend-scale::-webkit-scrollbar{display:none}.polar-generator-view.is-mobile .chart-content{display:flex;flex:1 1;gap:0;min-height:0}.polar-generator-view.is-mobile .chart-container{background:radial-gradient(circle at 50% 50%,#fff 0,#f8fafc 70%,#eef2f7 100%);border-radius:14px;flex:1 1;height:100%;min-height:0;min-width:0;width:100%}.polar-generator-view.is-mobile .polar-zoom-controls{border-radius:11px;bottom:auto;gap:2px;padding:3px;right:6px;top:6px}.polar-generator-view.is-mobile .polar-zoom-btn{height:32px;width:26px}.polar-generator-view.is-mobile .polar-zoom-display{min-width:44px;padding:2px 6px}.polar-generator-view.is-mobile .psw{align-items:stretch;flex-shrink:0;position:static;width:100%}.polar-generator-view.is-mobile .psw-active,.polar-generator-view.is-mobile .psw-stack{width:100%}.polar-generator-view.is-mobile .psw-stack{border-radius:14px;padding:8px}.polar-generator-view.is-mobile .psw-active{border-radius:14px}.polar-generator-view.is-mobile .psw-active-main{flex:1 1;max-width:none}.polar-generator-view.is-mobile .psw-active-name{max-width:100%}.polar-generator-view.is-mobile .psw-popover{border-radius:18px;bottom:calc(96px + env(safe-area-inset-bottom, 0px));left:12px;max-height:60dvh;max-width:none;position:fixed;right:12px;top:auto;width:auto;z-index:60}@media (max-height:640px){.polar-generator-view.is-mobile .polar-generator-diagram{height:calc(100dvh - 120px)}}}.sc-overlay{--sc-accent:#8b5cf6;--sc-accent-soft:#8b5cf61f;--sc-accent-grip:#ffffff52;box-sizing:border-box;padding:3px 0;pointer-events:none;z-index:3}.sc-track{background:repeating-linear-gradient(90deg,#0000 0,#0000 11px,#8b5cf60d 11px,#8b5cf60d 12px),var(--sc-accent-soft);border:1px dashed #8b5cf647;border-radius:4px;cursor:pointer;height:100%;overflow:hidden;pointer-events:auto;position:relative;transition:border-color .14s ease,background-color .14s ease;width:100%}.sc-track:hover{border-color:#8b5cf68c}.sc-track.is-locked{border-style:dashed;cursor:not-allowed;opacity:.85}.sc-track.is-empty .sc-empty-hint{color:#8b5cf6b3;font-family:JetBrains Mono,IBM Plex Mono,SF Mono,Menlo,ui-monospace,monospace;font-size:9.5px;font-weight:600;inset:0;justify-content:center;letter-spacing:.08em;pointer-events:none;text-transform:uppercase}.sc-bar,.sc-track.is-empty .sc-empty-hint{align-items:center;display:flex;position:absolute}.sc-bar{background:linear-gradient(180deg,#ffffff2e,#00000014),var(--sc-accent);border-radius:4px;bottom:0;box-shadow:inset 0 1px 0 #ffffff40,0 1px 2px #5b21b647;color:#fff;cursor:pointer;overflow:hidden;padding:0 8px;top:0;transition:filter .12s ease,transform .12s ease;-webkit-user-select:none;user-select:none}.sc-bar.is-hover{filter:brightness(1.06) saturate(1.05)}.sc-bar.is-tiny{background:var(--sc-accent);padding:0}.sc-bar.is-tiny:before{background:#fff;border-radius:50%;content:"";height:4px;inset:50% auto auto 50%;position:absolute;transform:translate(-50%,-50%);width:4px}.sc-bar.is-missing{background:repeating-linear-gradient(135deg,#0000000a,#0000000a 4px,#0000 0,#0000 8px),#94a3b8;box-shadow:inset 0 1px 0 #ffffff2e,0 1px 2px #47556940}.sc-bar-label{align-items:baseline;display:flex;flex:1 1 auto;flex-direction:row;gap:6px;min-width:0;pointer-events:none}.sc-bar-title{font-size:10.5px;font-weight:700;letter-spacing:.02em;line-height:1;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 0 #0000002e}.sc-bar-dur,.sc-bar-title{font-family:JetBrains Mono,IBM Plex Mono,SF Mono,Menlo,ui-monospace,monospace;white-space:nowrap}.sc-bar-dur{font-feature-settings:"tnum";flex-shrink:0;font-size:9px;font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:.04em;opacity:.78}.sc-handle{align-items:center;background:#0000;bottom:0;cursor:ew-resize;display:flex;justify-content:center;position:absolute;top:0;width:6px;z-index:2}.sc-handle:after{background:var(--sc-accent-grip);border-radius:1px;content:"";height:60%;transition:background-color .1s ease,height .1s ease;width:2px}.sc-handle.is-start{left:0}.sc-handle.is-end{right:0}.sc-handle:hover:after{background:#ffffffd9;height:75%}.sc-bar.is-tiny .sc-handle{width:50%}.sc-bar.is-tiny .sc-handle:after{display:none}.sc-picker{background:#fff;border:1px solid #0f172a14;border-radius:10px;box-shadow:inset 0 1px 0 #ffffffe6,0 12px 32px #0f172a29,0 2px 6px #0f172a14;display:flex;flex-direction:column;max-height:min(60vh,460px);max-width:min(340px,calc(100vw - 16px));min-width:240px;overflow-y:auto;padding:8px;pointer-events:auto;position:absolute;top:calc(100% + 8px);width:max-content;z-index:100}.sc-picker.is-create{max-width:min(420px,calc(100vw - 16px));min-width:min(320px,calc(100vw - 16px))}.sc-picker.is-viewport{box-shadow:inset 0 1px 0 #ffffffe6,0 24px 56px #0f172a47,0 4px 12px #0f172a2e;max-height:min(80vh,640px);top:auto}.sc-picker:not(.is-viewport):before{background:#fff;border-left:1px solid #0f172a14;border-top:1px solid #0f172a14;content:"";height:10px;left:50%;left:var(--sc-arrow,50%);position:absolute;top:-6px;transform:translateX(-50%) rotate(45deg);width:10px}.sc-picker.is-flip-up{bottom:calc(100% + 8px);top:auto}.sc-picker.is-flip-up:before{border:1px solid #0f172a14;border-left:none;border-top:none;bottom:-6px;top:auto}.sc-picker.is-viewport:after{background:#0f172a52;content:"";inset:0;position:fixed;z-index:-1}@media (max-width:520px){.sc-picker{max-width:calc(100vw - 16px)}}.sc-picker-head{border-bottom:1px solid #8b5cf624;color:var(--sc-accent);font-family:JetBrains Mono,IBM Plex Mono,SF Mono,Menlo,ui-monospace,monospace;font-size:9.5px;font-weight:800;letter-spacing:.1em;margin-bottom:4px;padding:6px 8px 4px;text-transform:uppercase}.sc-picker-empty{color:#0f172a8c;font-size:12px;line-height:1.45;padding:12px 8px;text-align:center}.sc-picker-list{display:flex;flex-direction:column;gap:1px;list-style:none;margin:0;max-height:220px;overflow-y:auto;padding:0}.sc-picker-option{background:#0000;border:1px solid #0000;border-radius:6px;color:#0f172ad9;cursor:pointer;font-size:13px;font-weight:500;padding:7px 10px;text-align:left;transition:background-color .1s ease;width:100%}.sc-picker-option:hover{background:#8b5cf614;color:#0f172af2}.sc-picker-option.is-active{background:#8b5cf61a;border-color:#8b5cf673;color:#4c1d95;font-weight:600}.sc-remove-pill{align-items:center;animation:sc-remove-pill-in .16s cubic-bezier(.2,.8,.2,1.1);background:linear-gradient(180deg,#f43f5e,#be123c);border:1px solid #9f1239;border-radius:999px;box-shadow:inset 0 1px 0 #ffffff47,inset 0 -1px 0 #0000002e,0 6px 18px #9f123966,0 2px 4px #0f172a2e;color:#fff;cursor:pointer;display:inline-flex;font-family:JetBrains Mono,IBM Plex Mono,SF Mono,Menlo,ui-monospace,monospace;font-size:10px;font-weight:700;gap:7px;letter-spacing:.08em;padding:6px 11px 6px 8px;text-transform:uppercase;transform:translate(-50%,-100%);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;white-space:nowrap;z-index:101}.sc-remove-pill:after{background:linear-gradient(135deg,#0000 50%,#be123c 0);border-bottom:1px solid #9f1239;border-right:1px solid #9f1239;bottom:-5px;content:"";height:8px;left:50%;position:absolute;transform:translateX(-50%) rotate(45deg);width:8px}.sc-remove-pill-icon{align-items:center;background:#ffffff2e;border:1px solid #ffffff57;border-radius:50%;display:inline-flex;flex-shrink:0;height:16px;justify-content:center;width:16px}.sc-remove-pill-label{line-height:1;text-shadow:0 1px 0 #0000002e}.sc-remove-pill:hover{box-shadow:inset 0 1px 0 #ffffff52,inset 0 -1px 0 #0003,0 10px 22px #9f123980,0 2px 4px #0f172a33;filter:brightness(1.06) saturate(1.08);transform:translate(-50%,calc(-100% - 2px))}.sc-remove-pill:active{filter:brightness(.96);transform:translate(-50%,-100%)}.sc-remove-pill:focus-visible{box-shadow:inset 0 1px 0 #ffffff47,inset 0 -1px 0 #0000002e,0 0 0 3px #f43f5e59,0 6px 18px #9f123966;outline:none}@keyframes sc-remove-pill-in{0%{opacity:0;transform:translate(-50%,calc(-100% + 6px))}to{opacity:1;transform:translate(-50%,-100%)}}.sc-picker-create{background:#8b5cf614;border:1px dashed #8b5cf673;border-radius:6px;color:#4c1d95;cursor:pointer;font-size:12px;font-weight:600;margin-top:6px;padding:7px 10px;transition:background-color .1s ease,border-color .1s ease;width:100%}.sc-picker-create:hover{background:#8b5cf624;border-color:#8b5cf6b3}.sc-create-body{gap:10px;padding:4px 4px 2px}.sc-create-body,.sc-create-field{display:flex;flex-direction:column}.sc-create-field{gap:4px}.sc-create-field>span{color:#0f172a8c;font-family:JetBrains Mono,IBM Plex Mono,SF Mono,Menlo,ui-monospace,monospace;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.sc-create-field input{background:#fff;border:1px solid #0f172a24;border-radius:6px;box-sizing:border-box;color:#0f172ae6;font-size:13px;outline:none;padding:7px 9px;transition:border-color .1s ease,box-shadow .1s ease;width:100%}.sc-create-field input:focus{border-color:#8b5cf68c;box-shadow:0 0 0 3px #8b5cf62e}.sc-create-group h5{color:#0f172a8c;font-family:JetBrains Mono,IBM Plex Mono,SF Mono,Menlo,ui-monospace,monospace;font-size:9px;font-weight:800;letter-spacing:.1em;margin:0 0 4px;text-transform:uppercase}.sc-create-sails{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.sc-create-sail{align-items:center;background:#0f172a05;border:1px solid #0f172a14;border-radius:6px;display:flex;flex-wrap:wrap;gap:8px;padding:6px 8px}.sc-create-sail.is-sel{background:#8b5cf614;border-color:#8b5cf666}.sc-create-sail-name{color:#0f172ae0;flex:1 1 auto;font-size:12.5px;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sc-create-ris{display:flex;flex-shrink:0;flex-wrap:wrap;gap:3px}.sc-ris-btn{font-feature-settings:"tnum";background:#fff;border:1px solid #0f172a29;border-radius:4px;color:#0f172ab8;cursor:pointer;font-size:11px;font-variant-numeric:tabular-nums;font-weight:600;padding:3px 8px;transition:background-color .1s ease,border-color .1s ease,color .1s ease}.sc-ris-btn:hover{background:#8b5cf60f;border-color:#8b5cf666}.sc-ris-btn.is-active{background:var(--sc-accent);border-color:var(--sc-accent);color:#fff}.sc-create-error{background:#b91c1c14;border:1px solid #b91c1c3d;border-radius:6px;color:#b91c1c;font-size:12px;padding:6px 8px}.sc-create-actions{border-top:1px solid #0f172a0f;display:flex;gap:6px;margin-top:8px;padding-top:6px}.sc-create-cancel,.sc-create-save{border:1px solid #0000;border-radius:6px;cursor:pointer;flex:1 1;font-size:12.5px;font-weight:600;padding:8px 10px;transition:background-color .1s ease,border-color .1s ease,opacity .1s ease}.sc-create-cancel{background:#0000;border-color:#0f172a29;color:#0f172ab3}.sc-create-cancel:hover{background:#0f172a0a}.sc-create-save{background:var(--sc-accent);border-color:var(--sc-accent);color:#fff}.sc-create-save:hover{filter:brightness(1.06)}.sc-create-cancel:disabled,.sc-create-save:disabled{cursor:not-allowed;opacity:.6}.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;letter-spacing:-.01em;margin:0}.timeline-header-info{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--space-2);min-width:0}.timeline-header-titleblock{align-items:baseline;display:flex;flex-wrap:wrap;gap:var(--space-3)}.timeline-header-daterange{font-feature-settings:"tnum";color:var(--color-text-muted);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap}.timeline-stats-strip{align-items:stretch;background:var(--color-surface-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);box-shadow:0 1px 2px #0f172a0a;display:flex;flex-wrap:wrap;margin:0;overflow:hidden;padding:0}.timeline-stat{display:flex;flex:1 1 140px;flex-direction:column;justify-content:center;min-width:0;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);position:relative}.timeline-stat+.timeline-stat{border-left:1px solid var(--color-border-subtle)}.timeline-stat:before{background:var(--color-primary);background:var(--timeline-stat-accent,var(--color-primary));border-radius:0 2px 2px 0;bottom:22%;content:"";left:0;position:absolute;top:22%;width:2px}.timeline-stat[data-accent=distance]{--timeline-stat-accent:var(--color-primary)}.timeline-stat[data-accent=duration]{--timeline-stat-accent:var(--color-text-tertiary)}.timeline-stat[data-accent=polar]{--timeline-stat-accent:var(--color-success)}.timeline-stat[data-accent=speed]{--timeline-stat-accent:var(--color-warning)}.timeline-stat dt{color:var(--color-text-muted);font-size:.625rem;font-weight:600;letter-spacing:.12em;margin:0 0 2px;text-transform:uppercase}.timeline-stat dd{align-items:baseline;color:var(--color-text-primary);display:flex;gap:4px;line-height:1.1;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-stat-value{font-feature-settings:"tnum";font-size:var(--font-size-lg);font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.01em}.timeline-stat-unit{color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:500}.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-action-segment{background:#2563eb14;border-color:#2563eb59;color:var(--color-primary)}.timeline-action-segment.is-active,.timeline-action-segment:hover:not(:disabled){background:var(--color-primary);border-color:var(--color-primary);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(640px,88vh,1400px);min-height:600px;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:not(.timeline-map--fullscreen){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{display:none;pointer-events:none}.timeline-playback-line{display:none}.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-map-playback{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#183a6ceb;border:1px solid #ffffff2e;border-radius:8px;bottom:4px;box-shadow:0 12px 28px #0f172a47;color:#fff;display:flex;flex-direction:column;gap:5px;left:10px;padding:6px 8px;position:absolute;right:10px;z-index:12}.timeline-map-playback-main{grid-gap:7px;align-items:center;display:grid;gap:7px;grid-template-columns:30px minmax(0,1fr);min-width:0}.timeline-map-play-button{align-items:center;background:#159ce6;border:1px solid #ffffff38;border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;height:30px;justify-content:center;transition:background .16s ease,border-color .16s ease,transform .16s ease;width:30px}.timeline-map-play-button svg{height:15px;width:15px}.timeline-map-play-button.is-active,.timeline-map-play-button:hover:not(:disabled){background:#0f82ca;border-color:#ffffff5c}.timeline-map-play-button:disabled,.timeline-map-speed-slider:disabled{cursor:not-allowed;opacity:.45}.timeline-map-playback-readout{align-items:center;display:flex;min-width:0}.timeline-map-playback-data{font-feature-settings:"tnum";align-items:baseline;color:#ffffffe6;display:flex;font-size:11px;font-variant-numeric:tabular-nums;font-weight:600;gap:4px;line-height:1.2;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-map-playback-metric{--metric-value-width:4ch;align-items:baseline;column-gap:3px;display:inline-grid;flex:0 0 auto;grid-template-columns:auto var(--metric-value-width) auto}.timeline-map-playback-metric.is-angle,.timeline-map-playback-metric.is-percent{--metric-value-width:3ch}.timeline-map-playback-label,.timeline-map-playback-unit{min-width:0}.timeline-map-playback-value{text-align:right}.timeline-map-playback-separator{color:#ffffff8f;flex:0 0 auto}.timeline-map-scrub-row{grid-gap:7px;align-items:center;display:grid;gap:7px;grid-template-columns:auto minmax(0,1fr) auto}.timeline-map-current-position,.timeline-map-scrub-time{color:#ffffffd1;font-size:var(--font-size-xs);white-space:nowrap}.timeline-map-scrubber{appearance:none;-webkit-appearance:none;background:#0000;cursor:pointer;height:16px;margin:0;min-width:0;width:100%}.timeline-map-scrubber:disabled{cursor:not-allowed;opacity:.5}.timeline-map-scrubber::-webkit-slider-runnable-track{background:linear-gradient(to right,#18a8ee 0,#18a8ee var(--timeline-progress),#ffffff57 var(--timeline-progress),#ffffff57 100%);border-radius:999px;height:4px}.timeline-map-scrubber::-moz-range-track{background:#ffffff57;border-radius:999px;height:4px}.timeline-map-scrubber::-moz-range-progress{background:#18a8ee;border-radius:999px;height:4px}.timeline-map-scrubber::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;background:#18a8ee;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px #00000059;height:16px;margin-top:-6px;width:16px}.timeline-map-scrubber::-moz-range-thumb{background:#18a8ee;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px #00000059;height:12px;width:12px}.timeline-map-control-row{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:0}.timeline-map-current-position{font-feature-settings:"tnum";flex:0 0 auto;font-variant-numeric:tabular-nums;min-width:17ch;overflow:hidden;text-overflow:ellipsis}.timeline-map-speed-control{grid-gap:5px;align-items:center;display:grid;flex-shrink:0;gap:5px;grid-template-columns:8px minmax(64px,92px) 8px 46px;min-width:0}.timeline-map-speed-icon{color:#ffffffe6;font-size:10px;font-weight:700}.timeline-map-speed-value{color:#ffffffe6;font-size:11px;font-weight:700}.timeline-map-speed-icon{line-height:1;text-align:center}.timeline-map-speed-value{text-align:right;white-space:nowrap}.timeline-map-speed-slider{appearance:none;-webkit-appearance:none;background:#0000;cursor:pointer;height:14px;margin:0;min-width:0;width:100%}.timeline-map-speed-slider::-webkit-slider-runnable-track{background:#ffffff5c;border-radius:999px;height:3px}.timeline-map-speed-slider::-moz-range-track{background:#ffffff5c;border-radius:999px;height:3px}.timeline-map-speed-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;background:#18a8ee;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 5px #0000004d;height:12px;margin-top:-4.5px;width:12px}.timeline-map-speed-slider::-moz-range-thumb{background:#18a8ee;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 5px #0000004d;height:8px;width:8px}.timeline-map--fullscreen .timeline-map-playback{bottom:calc(16px + env(safe-area-inset-bottom, 0px));left:50%;right:auto;transform:translateX(-50%);width:min(720px,calc(100% - 64px))}@media (max-width:1023px) and (pointer:coarse){.timeline-map--fullscreen .timeline-map-playback{background:#122e58f0;border-radius:16px;bottom:calc(12px + env(safe-area-inset-bottom, 0px));box-shadow:0 18px 44px #08102280;gap:10px;left:calc(10px + env(safe-area-inset-left, 0px));padding:12px 14px 14px;right:calc(10px + env(safe-area-inset-right, 0px));transform:none;width:auto}.timeline-map--fullscreen .timeline-map-playback-main{gap:12px;grid-template-columns:48px minmax(0,1fr)}.timeline-map--fullscreen .timeline-map-play-button{height:48px;width:48px}.timeline-map--fullscreen .timeline-map-play-button svg{height:22px;width:22px}.timeline-map--fullscreen .timeline-map-playback-data{flex-wrap:wrap;font-size:13px;gap:4px 8px;overflow:visible;white-space:normal}.timeline-map--fullscreen .timeline-map-scrub-row{gap:10px}.timeline-map--fullscreen .timeline-map-scrub-time{font-size:12px}.timeline-map--fullscreen .timeline-map-scrubber{height:24px}.timeline-map--fullscreen .timeline-map-scrubber::-webkit-slider-runnable-track{height:6px}.timeline-map--fullscreen .timeline-map-scrubber::-webkit-slider-thumb{height:22px;margin-top:-8px;width:22px}.timeline-map--fullscreen .timeline-map-scrubber::-moz-range-progress,.timeline-map--fullscreen .timeline-map-scrubber::-moz-range-track{height:6px}.timeline-map--fullscreen .timeline-map-scrubber::-moz-range-thumb{height:18px;width:18px}.timeline-map--fullscreen .timeline-map-control-row{gap:6px 12px}.timeline-map--fullscreen .timeline-map-current-position{font-size:12px}.timeline-map--fullscreen .timeline-map-speed-control{gap:6px;grid-template-columns:8px minmax(90px,120px) 8px 44px}.timeline-map--fullscreen .timeline-map-speed-slider{height:22px}.timeline-map--fullscreen .timeline-map-speed-slider::-webkit-slider-thumb{height:18px;margin-top:-7.5px;width:18px}.timeline-map--fullscreen .timeline-map-speed-slider::-moz-range-thumb{height:14px;width:14px}.timeline-map--fullscreen .timeline-map-speed-value{font-size:12px}}.timeline-canvas{inset:0;pointer-events:none;position:absolute}.timeline-chart-actions{align-items:stretch;background:#0f172aeb;border:1px solid #ffffff14;border-radius:5px;box-shadow:0 2px 8px #0f172a40,inset 0 1px 0 #ffffff0d;display:flex;font-family:JetBrains Mono,IBM Plex Mono,SF Mono,Menlo,ui-monospace,monospace;gap:0;padding:3px;pointer-events:auto;position:absolute;right:10px;top:8px;z-index:5}.tl-tool{align-items:center;appearance:none;background:#0000;border:none;border-radius:3px;color:#e2e8f0b3;cursor:pointer;display:inline-flex;font-family:inherit;font-size:10px;font-weight:600;gap:4px;letter-spacing:.08em;padding:4px 7px;text-transform:uppercase;transition:background .12s ease,color .12s ease,transform .12s ease}.tl-tool svg{opacity:.85}.tl-tool:hover:not(:disabled){background:#ffffff0f;color:#fff}.tl-tool:active:not(:disabled){transform:translateY(.5px)}.tl-tool:disabled{cursor:not-allowed;opacity:.32}.tl-tool.is-active[data-tool=segment]{background:#6366f138;box-shadow:inset 0 0 0 1px #818cf880;color:#c7d2fe}.tl-tool.is-active[data-tool=delete]{background:#ef444438;box-shadow:inset 0 0 0 1px #f8717180;color:#fecaca}.tl-tool-icon{padding:4px 6px}.tl-tool-undo{padding:4px 7px}.tl-tool-undo-glyph{font-size:14px;font-weight:700;line-height:1}.tl-tool-undo:not(:disabled){background:#38bdf81f;box-shadow:inset 0 0 0 1px #38bdf873;color:#7dd3fc}.tl-tool-undo:not(:disabled):hover{background:#38bdf838;box-shadow:inset 0 0 0 1px #7dd3fcb3,0 0 8px #38bdf84d;color:#bae6fd}.tl-tool-undo:disabled{box-shadow:inset 0 0 0 1px #ffffff0f;color:#94a3b873;opacity:1}.tl-tool-sep{background:#ffffff14;margin:2px 3px;width:1px}.tl-tool-ghost{color:#94a3b8d9}.tl-tool-badge{background:#ffffff1a;border-radius:7px;color:#fff;font-size:9px;font-weight:700;height:14px;justify-content:center;letter-spacing:.02em;min-width:14px;padding:0 4px}.tl-tool-badge,.tl-tool-meta{align-items:center;display:inline-flex}.tl-tool-meta{font-feature-settings:"tnum";border-left:1px solid #ffffff14;color:#e2e8f0b3;font-size:10px;font-variant-numeric:tabular-nums;font-weight:600;gap:4px;letter-spacing:.04em;margin-left:2px;padding:0 8px 0 5px}.tl-tool-meta-dot{background:#f87171;border-radius:50%;box-shadow:0 0 6px #f8717199;height:6px;width:6px}.timeline-chart svg{inset:0;position:absolute}.timeline-row-labels{display:flex;flex-direction:column;pointer-events:none;position:absolute;z-index:2}.timeline-row-label-card{align-items:flex-end;border-right:3px solid #0000;border-right:3px solid var(--row-color,#0000);display:flex;flex:1 1;flex-direction:column;gap:3px;justify-content:center;min-height:0;overflow:hidden;padding:4px 10px 4px 6px;text-align:right}.timeline-row-label-card .trl-code{font-family:JetBrains Mono,IBM Plex Mono,SF Mono,Menlo,ui-monospace,monospace;font-size:15px;font-weight:800;letter-spacing:.04em;line-height:1}.timeline-row-label-card .trl-title{color:var(--color-text-secondary);font-size:8.5px;font-weight:600;-webkit-hyphens:auto;hyphens:auto;letter-spacing:.07em;line-height:1.15;max-width:100%;opacity:.7;overflow-wrap:break-word;text-transform:uppercase;white-space:normal;word-break:break-word}.timeline-row-label-card .trl-chip{font-feature-settings:"tnum";border:1px solid #0000;border-radius:6px;font-family:JetBrains Mono,IBM Plex Mono,SF Mono,Menlo,ui-monospace,monospace;font-size:9px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.02em;padding:1px 6px;white-space:nowrap}.timeline-row-label-card--sail{border-right-width:3px;justify-content:center;padding:0 10px 0 6px}.timeline-row-label-card--sail .trl-code{font-size:11px;letter-spacing:.06em}.timeline-grid{stroke:#0f172a1a;stroke-width:.6;stroke-dasharray:1 5}.timeline-grid.is-mid{stroke:#0f172a33;stroke-width:.8;stroke-dasharray:none}.timeline-grid-label{fill:var(--color-text-muted);font-feature-settings:"tnum";stroke:#ffffffd9;stroke-width:3px;stroke-linejoin:round;font-family:JetBrains Mono,IBM Plex Mono,SF Mono,Menlo,ui-monospace,monospace;font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.02em;paint-order:stroke}.timeline-line{fill:none;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.timeline-hover-line{stroke:#0f172a8c;stroke-width:1;stroke-dasharray:none;filter:drop-shadow(0 0 4px rgba(15,23,42,.15))}.timeline-hover-dot{stroke:#fff;stroke-width:2;filter:drop-shadow(0 1px 3px rgba(15,23,42,.35))}.timeline-hover-chip{pointer-events:none}.timeline-hover-chip-bg{fill:#fff;stroke-width:1.25;filter:drop-shadow(0 1px 4px rgba(15,23,42,.18))}.timeline-hover-chip-text{font-feature-settings:"tnum";font-family:JetBrains Mono,IBM Plex Mono,SF Mono,Menlo,ui-monospace,monospace;font-size:11px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.02em}.timeline-hover-time{pointer-events:none}.timeline-hover-time-bg{fill:#0f172a;filter:drop-shadow(0 1px 4px rgba(15,23,42,.25))}.timeline-hover-time-text{fill:#fff;font-feature-settings:"tnum";font-family:JetBrains Mono,IBM Plex Mono,SF Mono,Menlo,ui-monospace,monospace;font-size:11px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.02em}.timeline-segment-band,.timeline-segment-bands{pointer-events:all}.timeline-segment-band-bg{stroke-width:1.2;transition:fill-opacity .15s ease,stroke-opacity .15s ease}.timeline-segment-band.is-active .timeline-segment-band-bg{stroke-width:1.8}.timeline-segment-band-label{font-size:var(--font-size-xs);font-weight:700;pointer-events:none}.timeline-segment-handle{pointer-events:all}.timeline-segment-handle-bar{opacity:.5;transition:opacity .15s ease}.timeline-segment-band.is-active .timeline-segment-handle-bar,.timeline-segment-handle:hover .timeline-segment-handle-bar{opacity:1}.timeline-segment-handle-grip{opacity:.85}.timeline-segment-tip{border-left:3px solid var(--segment-color,var(--color-primary));display:flex;flex-direction:column;gap:4px;min-width:220px;padding-left:8px}.timeline-segment-tip-title{color:var(--color-primary);color:var(--segment-color,var(--color-primary));font-size:12px;font-weight:700}.timeline-segment-tip-duration{color:var(--color-text-muted);font-size:11px}.timeline-segment-tip-row{display:flex;flex-direction:column;gap:2px}.timeline-segment-tip-label{color:var(--color-text-muted);font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.timeline-segment-tip-values{font-feature-settings:"tnum";display:flex;font-size:11px;font-variant-numeric:tabular-nums;gap:8px;justify-content:space-between}.timeline-axis text{fill:var(--color-text-secondary);font-feature-settings:"tnum";font-family:JetBrains Mono,IBM Plex Mono,SF Mono,Menlo,ui-monospace,monospace;font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.03em}.timeline-axis line,.timeline-axis path{stroke:#0f172a40}.timeline-checkpoint-layer{pointer-events:none}.tl-checkpoint-line{stroke:#fbbf24;stroke-width:1.5;stroke-dasharray:3 3;opacity:.65;pointer-events:none}.tl-checkpoint-flag{cursor:pointer}.tl-checkpoint-flag-shape{fill:#fbbf24;stroke:#78350f;stroke-width:.5}.tl-checkpoint-flag:hover .tl-checkpoint-flag-shape{fill:#fcd34d}.tl-checkpoint-hit{fill:#0000;cursor:pointer;pointer-events:all}.tl-checkpoint-label{fill:#fcd34d;stroke:#0f172acc;stroke-width:2.5px;font-size:10px;font-weight:600;paint-order:stroke;pointer-events:none}.tl-tool-meta-flag{color:#fbbf24;font-size:11px;line-height:1}.timeline-checkpoint-popover{align-items:center;background:#0f172af5;border:1px solid #fbbf2480;border-radius:8px;box-shadow:0 8px 24px #00000073;display:flex;gap:6px;padding:6px;position:absolute;top:6px;transform:translateX(-50%);z-index:30}.tl-cp-input{background:#020617b3;border:1px solid #ffffff1f;border-radius:6px;color:#f1f5f9;font-size:12px;outline:none;padding:5px 8px;width:180px}.tl-cp-input:focus{border-color:#fbbf24b3}.tl-cp-actions{display:inline-flex;gap:4px}.tl-cp-btn{align-items:center;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;color:#e2e8f0;cursor:pointer;display:inline-flex;font-size:13px;height:26px;justify-content:center;width:26px}.tl-cp-btn:hover{background:#ffffff1f}.tl-cp-save{border-color:#4ade8066;color:#4ade80}.tl-cp-delete{border-color:#f8717166;color:#f87171}.timeline-overlay{fill:#0000;cursor:grab;touch-action:none}.timeline-overlay:active{cursor:grabbing}.timeline-tooltip{font-feature-settings:"tnum";-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);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);font-variant-numeric:tabular-nums;min-width:200px;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-tooltip>div{align-items:baseline;display:flex;gap:12px;justify-content:space-between;line-height:1.5}.timeline-tooltip strong{color:var(--color-text-muted);font-size:10.5px;font-weight:600;letter-spacing:.06em;margin-right:8px;text-transform:uppercase}.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,.timeline-layout-replay .timeline-body{flex-direction:column}.timeline-body.is-stats-expanded .timeline-map-section,.timeline-layout-replay .timeline-map-section,.timeline-map-section{flex:1 1 auto;max-width:none;min-width:0;width:100%}.timeline-body.is-stats-expanded .timeline-chart,.timeline-layout-replay .timeline-chart{flex:1 1 auto;min-width:0;width:100%}.timeline-body .timeline-map-section .timeline-map:not(.timeline-map--fullscreen){height:clamp(260px,40vh,420px)}}@media (max-width:767px){.timeline-layout-replay .timeline-body{flex-direction:column-reverse}.timeline-chart{height:clamp(420px,70vh,560px);min-height:380px}.timeline-map:not(.timeline-map--fullscreen){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)}.timeline-map-playback{bottom:3px;gap:4px;left:6px;padding:5px 7px;right:6px}.timeline-map-playback-main{gap:6px;grid-template-columns:28px minmax(0,1fr)}.timeline-map-play-button{height:28px;width:28px}.timeline-map-play-button svg{height:14px;width:14px}.timeline-map-control-row{align-items:center;flex-wrap:nowrap;gap:4px 8px}.timeline-map-current-position{flex:0 1 auto;font-size:10px;min-width:0}.timeline-map-speed-control{flex:0 0 auto;gap:4px;grid-template-columns:7px 80px 7px 40px}.timeline-map-speed-icon{font-size:9px}.timeline-map-speed-value{font-size:10px}}@media (max-width:479px){.timeline-chart{height:clamp(360px,75vh,480px)}}.timeline-stats-toggle{--pull-accent:var(--color-primary,#1c6e8c);align-items:center;background:linear-gradient(180deg,color-mix(in srgb,var(--pull-accent) 6%,var(--color-surface)) 0,var(--color-surface) 70%);border:1px solid var(--color-border);border-radius:12px;border-radius:var(--radius-lg,12px);color:var(--color-text-secondary);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;font-size:13px;gap:6px;isolation:isolate;letter-spacing:.02em;margin:12px auto 0;margin:var(--space-3,12px) auto 0;overflow:hidden;padding:12px 20px 14px;position:relative;transition:transform .18s cubic-bezier(.2,.7,.2,1),border-color .18s ease,box-shadow .22s ease,background .22s ease;width:calc(100% - 40px)}.timeline-stats-toggle__grip{background:color-mix(in srgb,var(--pull-accent) 35%,#0000);border-radius:999px;box-shadow:inset 0 1px 0 #ffffff40,0 0 0 1px color-mix(in srgb,var(--pull-accent) 18%,#0000);height:4px;transition:width .2s ease,background .2s ease;width:44px}.timeline-stats-toggle__content{align-items:center;display:inline-flex;font-weight:500;gap:10px}.timeline-stats-toggle__label{color:currentColor;color:var(--color-text-primary,currentColor)}.timeline-stats-toggle__hint{font-feature-settings:"tnum";background:color-mix(in srgb,var(--pull-accent) 12%,#0000);border-radius:999px;color:var(--pull-accent);font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.04em;padding:2px 8px}.timeline-stats-toggle__chevron{animation:timeline-pull-bounce 2.8s cubic-bezier(.34,1.56,.64,1) infinite;color:var(--pull-accent);transition:transform .28s cubic-bezier(.2,.7,.2,1)}@keyframes timeline-pull-bounce{0%{opacity:.85;transform:translateY(0)}8%{opacity:1;transform:translateY(4px)}16%{opacity:.95;transform:translateY(0)}24%{opacity:1;transform:translateY(3px)}32%{opacity:.9;transform:translateY(0)}to{opacity:.85;transform:translateY(0)}}.timeline-stats-toggle:before{background:radial-gradient(120% 80% at 50% 120%,color-mix(in srgb,var(--pull-accent) 35%,#0000) 0,#0000 60%);border-radius:inherit;content:"";inset:-1px;opacity:.55;pointer-events:none;position:absolute;transition:opacity .22s ease;z-index:-1}.timeline-stats-toggle:hover{border-color:color-mix(in srgb,var(--pull-accent) 55%,var(--color-border));box-shadow:0 8px 20px -10px color-mix(in srgb,var(--pull-accent) 60%,#0000),0 0 0 3px color-mix(in srgb,var(--pull-accent) 10%,#0000);transform:translateY(-1px)}.timeline-stats-toggle:hover:before{opacity:.9}.timeline-stats-toggle:hover .timeline-stats-toggle__grip{background:color-mix(in srgb,var(--pull-accent) 55%,#0000);width:64px}.timeline-stats-toggle:hover .timeline-stats-toggle__chevron{animation:none;transform:translateY(3px)}.timeline-stats-toggle:active{transform:translateY(0)}.timeline-stats-toggle:focus-visible{outline:2px solid var(--pull-accent);outline-offset:2px}.timeline-stats-toggle.is-expanded{--pull-accent:#6b7785}.timeline-stats-toggle.is-expanded .timeline-stats-toggle__chevron{animation:none;transform:rotate(180deg)}.timeline-stats-toggle.is-expanded:hover .timeline-stats-toggle__chevron{transform:rotate(180deg) translateY(3px)}.timeline-stats-toggle.is-expanded:before{opacity:.25}@media (prefers-reduced-motion:reduce){.timeline-stats-toggle__chevron{animation:none}}.timeline-body.is-stats-expanded .timeline-chart{flex:1 1 80%;min-width:0}.timeline-body.is-stats-expanded .timeline-map-section{flex:0 0 20%;max-width:none;min-width:200px}.timeline-section.is-stats-compact .timeline-row-label-card .trl-code{font-size:18px}.timeline-section.is-stats-compact .timeline-row-label-card .trl-title{font-size:9.5px}.segments-comparison{grid-gap:12px;display:grid;gap:12px;grid-template-areas:"header" "chart1" "chart2";grid-template-columns:1fr}.segments-comparison-header{grid-area:header}.segments-comparison .segments-chart-card:first-of-type{grid-area:chart1}.segments-comparison .segments-chart-card:nth-of-type(2){grid-area:chart2}@media (min-width:1100px){.segments-comparison{grid-template-areas:"header header" "chart1 chart2";grid-template-columns:1fr 1fr}}.segments-comparison-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.segments-comparison-header h3{color:#64748b;color:var(--color-text-muted,#64748b);font-size:.85rem;letter-spacing:.5px;margin:0;text-transform:uppercase}.segments-comparison-legend{color:#64748b;color:var(--color-text-muted,#64748b);display:flex;flex-wrap:wrap;font-size:.72rem;gap:8px}.segments-comparison-legend span{align-items:center;display:inline-flex;gap:4px}.segments-comparison-legend i{border-radius:50%;display:inline-block;height:8px;width:8px}.segments-chart-card{background:#fff;background:var(--color-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;border-radius:var(--radius-md,8px);padding:8px 10px}.segments-chart-axes{display:flex;gap:8px;margin-bottom:6px}.segments-chart-axes label{align-items:center;color:#64748b;color:var(--color-text-muted,#64748b);display:flex;font-size:.72rem;gap:4px}.segments-chart-axes select{background:#fff;background:var(--color-surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:4px;font:inherit;font-size:.75rem;padding:2px 4px}.segments-chart-title{color:#64748b;color:var(--color-text-muted,#64748b);display:flex;font-size:.72rem;justify-content:space-between;margin-bottom:4px}.segments-chart svg{height:auto;max-height:240px;width:100%}.segments-chart-plot-bg{fill:#f8fafc;fill:var(--color-surface-muted,#f8fafc)}.segments-chart-grid{stroke:#e2e8f0;stroke:var(--color-border,#e2e8f0);stroke-width:.5;opacity:.6}.segments-chart-axis-label{fill:#64748b;fill:var(--color-text-muted,#64748b);font-size:9px}.segments-chart-axis-title{fill:#0f172a;fill:var(--color-text,#0f172a);font-size:10px;font-weight:600}.seg-panel{--seg-active:var(--color-primary,#0f4c75);--seg-active-soft:color-mix(in srgb,var(--seg-active) 14%,#0000);--seg-active-faint:color-mix(in srgb,var(--seg-active) 6%,#0000);--seg-bg:var(--color-surface,#fff);--seg-bg-muted:var(--color-surface-muted,#f5f7fa);--seg-bg-deep:#0a1a2f;--seg-ink:var(--color-text,#0f172a);--seg-ink-soft:var(--color-text-muted,#64748b);--seg-line:var(--color-border,#e2e8f0);--seg-line-strong:color-mix(in srgb,var(--seg-ink) 18%,#0000);--seg-mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,monospace;--seg-display:"Iowan Old Style","Palatino Linotype","Palatino","Source Serif Pro","Cambria","Georgia",serif;--seg-card-radius:10px;background:var(--seg-bg);border:1px solid var(--seg-line);border-radius:14px;border-radius:var(--radius-lg,14px);color:var(--seg-ink);isolation:isolate;max-width:100%;overflow:hidden;position:relative;width:100%}.seg-panel:before{background-image:linear-gradient(90deg,rgba(15,23,42,.022) 1px,#0000 0),linear-gradient(180deg,rgba(15,23,42,.022) 1px,#0000 0);background-size:28px 28px;inset:0;z-index:0}.seg-panel:after,.seg-panel:before{content:"";pointer-events:none;position:absolute}.seg-panel:after{background:linear-gradient(90deg,#0000,var(--seg-active) 22%,var(--seg-active) 78%,#0000);height:2px;left:0;right:0;top:0;z-index:2}.seg-panel>*{position:relative;z-index:1}.seg-panel-bar{grid-gap:18px;grid-gap:var(--space-4,18px);align-items:start;background:linear-gradient(180deg,var(--seg-active-faint),#0000 90%),var(--seg-bg);border-bottom:1px solid var(--seg-line);display:grid;gap:18px;gap:var(--space-4,18px);grid-template-columns:minmax(0,auto) minmax(0,1fr) auto;padding:18px 20px 14px}.seg-panel-id{display:flex;flex-direction:column;gap:2px;min-width:0}.seg-panel-eyebrow{color:var(--seg-ink-soft);font-family:var(--seg-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase}.seg-panel-heading{color:var(--seg-ink);font-family:var(--seg-display);font-size:1.55rem;font-weight:500;letter-spacing:-.005em;line-height:1.05;margin:2px 0 0}.seg-panel-heading em{color:var(--seg-active);font-family:var(--seg-display);font-style:italic;font-weight:400;margin-left:4px}.seg-panel-tagline{color:var(--seg-ink-soft);font-size:12px;letter-spacing:.01em;margin:4px 0 0}.seg-panel-chips{align-content:flex-start;align-self:stretch;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;padding-top:3px}.seg-chip{--chip-color:var(--seg-active);align-items:center;background:var(--seg-bg);border:1px solid var(--seg-line);border-radius:999px;color:var(--seg-ink-soft);cursor:pointer;display:inline-flex;font:inherit;font-size:11px;gap:8px;line-height:1.2;padding:5px 10px 5px 18px;position:relative;transition:color .14s ease,border-color .14s ease,background .14s ease,transform .12s ease}.seg-chip:hover{border-color:color-mix(in srgb,var(--chip-color) 60%,var(--seg-line));color:var(--seg-ink);transform:translateY(-1px)}.seg-chip.is-active{background:color-mix(in srgb,var(--chip-color) 12%,var(--seg-bg));border-color:var(--chip-color);box-shadow:0 0 0 1px color-mix(in srgb,var(--chip-color) 18%,#0000),0 6px 14px -10px color-mix(in srgb,var(--chip-color) 60%,#0000);color:var(--seg-ink)}.seg-chip-marker{background:var(--chip-color);border-radius:50%;box-shadow:0 0 0 2px color-mix(in srgb,var(--chip-color) 25%,#0000);height:5px;left:7px;position:absolute;top:50%;transform:translateY(-50%);width:5px}.seg-chip-num{color:var(--seg-ink);font-weight:600;letter-spacing:.02em}.seg-chip-dur,.seg-chip-num{font-feature-settings:"tnum";font-family:var(--seg-mono);font-variant-numeric:tabular-nums}.seg-chip-dur{opacity:.7}.seg-panel-dismiss{align-items:center;align-self:flex-start;background:var(--seg-bg);border:1px solid var(--seg-line);border-radius:50%;color:var(--seg-ink-soft);cursor:pointer;display:inline-flex;height:30px;justify-content:center;transition:color .14s ease,border-color .14s ease,transform .12s ease;width:30px}.seg-panel-dismiss:hover{border-color:var(--seg-line-strong);color:var(--seg-ink);transform:rotate(90deg)}.seg-panel-empty{align-items:center;color:var(--seg-ink-soft);display:flex;flex-direction:column;gap:18px;padding:56px 28px 64px;text-align:center}.seg-panel-empty-mark{color:var(--seg-active);opacity:.85}.seg-panel-empty p{font-size:13px;letter-spacing:.005em;line-height:1.55;margin:0;max-width:380px}.seg-panel-empty kbd{background:var(--seg-bg-muted);border:solid var(--seg-line);border-radius:4px;border-width:1px 1px 2px;color:var(--seg-ink);display:inline-block;font-family:var(--seg-mono);font-size:11px;font-weight:600;letter-spacing:.06em;padding:1px 6px}.seg-section{animation:seg-fade-up .48s cubic-bezier(.16,1,.3,1) both;padding:18px 20px}.seg-section+.seg-section{border-top:1px solid var(--seg-line)}.seg-section--comparison{animation-delay:40ms;padding:18px 20px 4px}.seg-section--detail{animation-delay:.1s}.seg-section-head{align-items:center;display:flex;gap:12px;margin-bottom:12px}.seg-section-tag{background:var(--seg-bg);border:1px solid var(--seg-line);border-radius:3px;color:var(--seg-ink-soft);font-family:var(--seg-mono);font-size:10px;font-weight:600;letter-spacing:.16em;padding:3px 8px 3px 7px;text-transform:uppercase}.seg-section-head h3{align-items:baseline;color:var(--seg-ink);display:inline-flex;font-family:var(--seg-display);font-size:15px;font-weight:500;gap:8px;letter-spacing:.01em;margin:0}.seg-section-head h3 em{color:var(--seg-active);font-style:italic;font-weight:400}.seg-section-sub{background:var(--seg-bg);border:1px solid var(--seg-line);border-radius:3px;color:var(--seg-ink-soft);font-family:var(--seg-mono);font-size:11px;font-weight:500;letter-spacing:.04em;padding:1px 6px}.seg-section-rule{background:linear-gradient(90deg,var(--seg-line),#0000);flex:1 1;height:1px}.seg-detail-grid{grid-gap:14px;align-items:stretch;display:grid;gap:14px;grid-template-columns:minmax(220px,280px) minmax(0,1fr) minmax(280px,360px)}@media (max-width:1180px){.seg-detail-grid{grid-template-columns:minmax(220px,280px) minmax(0,1fr)}.seg-card--notes{grid-column:1/-1}}@media (max-width:760px){.seg-detail-grid{grid-template-columns:1fr}}.seg-card{background:var(--seg-bg);border:1px solid var(--seg-line);border-radius:var(--seg-card-radius);display:flex;flex-direction:column;gap:12px;min-width:0;overflow:hidden;padding:14px 16px 16px;position:relative}.seg-card-eyebrow{color:var(--seg-ink-soft);font-family:var(--seg-mono);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.seg-card--time{background:linear-gradient(180deg,var(--seg-active-faint),#0000 65%),var(--seg-bg)}.seg-card--time:before{background:linear-gradient(180deg,var(--seg-active),#0000);bottom:14px;content:"";left:0;opacity:.4;position:absolute;top:14px;width:2px}.seg-time{grid-gap:8px;display:grid;gap:8px;grid-template-rows:auto auto auto}.seg-time-row{display:flex;flex-direction:column;gap:2px}.seg-time-tag{color:var(--seg-ink-soft);font-family:var(--seg-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase}.seg-time-row strong{font-feature-settings:"tnum";color:var(--seg-ink);font-family:var(--seg-mono);font-size:13px;font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:.01em}.seg-time-bar{grid-gap:4px;align-items:center;display:grid;gap:4px;grid-template-columns:auto 1fr auto;height:8px;padding:0 2px}.seg-time-bar-cap{border-left:1px solid var(--seg-ink-soft);border-right:1px solid var(--seg-ink-soft);height:8px;opacity:.7;width:4px}.seg-time-bar-line{background:linear-gradient(90deg,var(--seg-line-strong),var(--seg-active),var(--seg-line-strong));height:1px}.seg-time-total{align-items:baseline;border-top:1px dashed var(--seg-line);display:flex;gap:12px;justify-content:space-between;padding-top:10px}.seg-time-total strong{color:var(--seg-active);font-family:var(--seg-display);font-size:22px;font-style:italic;font-weight:500;letter-spacing:.005em;line-height:1}.seg-card--metrics{background:linear-gradient(180deg,var(--seg-bg) 0,var(--seg-bg-muted) 100%)}.seg-metrics-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:1280px){.seg-metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.seg-metric{background:var(--seg-bg);border:1px solid var(--seg-line);border-radius:8px;display:flex;flex-direction:column;gap:8px;overflow:hidden;padding:12px 12px 10px;position:relative}.seg-metric:before{background-image:repeating-linear-gradient(to right,var(--seg-active) 0 1px,#0000 1px 6px);content:"";height:5px;left:10px;opacity:.32;position:absolute;right:10px;top:0}.seg-metric__head{align-items:baseline;display:flex;gap:6px;justify-content:space-between}.seg-metric__label{color:var(--seg-ink);font-family:var(--seg-mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.seg-metric__unit{background:var(--seg-bg-muted);border-radius:3px;color:var(--seg-ink-soft);font-family:var(--seg-mono);font-size:9.5px;font-weight:500;letter-spacing:.08em;padding:1px 5px}.seg-metric__value-row{align-items:baseline;display:flex;gap:6px;margin-top:2px}.seg-metric__value{font-feature-settings:"tnum";color:var(--seg-ink);font-family:var(--seg-mono);font-size:30px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.04em;line-height:1}.seg-metric__suffix{align-items:flex-start;display:inline-flex;flex-direction:column;gap:2px;padding-bottom:2px}.seg-metric__suffix-unit{color:var(--seg-ink-soft);font-family:var(--seg-mono);font-size:11px;font-weight:500;line-height:1}.seg-metric__suffix-tag{color:var(--seg-active);font-family:var(--seg-mono);font-size:8.5px;font-weight:600;letter-spacing:.16em;line-height:1;text-transform:uppercase}.seg-metric__scale{margin-top:2px}.seg-metric__scale-track{background:var(--seg-bg-muted);border-radius:1.5px;height:3px;margin:0 5px;position:relative}.seg-metric__scale-track:after,.seg-metric__scale-track:before{background:var(--seg-ink-soft);content:"";height:9px;opacity:.55;position:absolute;top:-3px;width:1px}.seg-metric__scale-track:before{left:0}.seg-metric__scale-track:after{right:0}.seg-metric__scale-dot{background:var(--seg-active);border-radius:50%;box-shadow:0 0 0 2px var(--seg-bg),0 0 0 3px color-mix(in srgb,var(--seg-active) 30%,#0000);height:9px;position:absolute;top:50%;transform:translate(-50%,-50%);width:9px}.seg-metric__minmax{align-items:flex-end;display:flex;gap:6px;justify-content:space-between}.seg-metric__minmax span{align-items:flex-start;display:inline-flex;flex-direction:column;gap:1px}.seg-metric__minmax-end{align-items:flex-end!important}.seg-metric__minmax em{color:var(--seg-ink-soft);font-family:var(--seg-mono);font-size:8.5px;font-style:normal;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.seg-metric__minmax strong{font-feature-settings:"tnum";color:var(--seg-ink);font-family:var(--seg-mono);font-size:11px;font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:.01em}.seg-card--notes{background:linear-gradient(180deg,var(--seg-bg),color-mix(in srgb,var(--seg-active) 4%,var(--seg-bg)))}.seg-notes-compose{display:flex;flex-direction:column;gap:6px}.seg-notes-compose textarea{background:var(--seg-bg);border:1px solid var(--seg-line);border-radius:8px;color:var(--seg-ink);font:inherit;font-size:13px;line-height:1.5;min-height:68px;padding:10px 12px;resize:vertical;transition:border-color .14s ease,box-shadow .14s ease;width:100%}.seg-notes-compose textarea::placeholder{color:var(--seg-ink-soft);font-style:italic}.seg-notes-compose textarea:focus{border-color:var(--seg-active);box-shadow:0 0 0 3px var(--seg-active-soft);outline:none}.seg-notes-compose-actions{align-items:center;display:flex;gap:8px;justify-content:space-between}.seg-notes-hint{color:var(--seg-ink-soft);font-family:var(--seg-mono);font-size:10px;letter-spacing:.06em}.seg-notes-compose button{background:var(--seg-ink);border:none;border-radius:6px;color:var(--seg-bg);cursor:pointer;font:inherit;font-size:12px;font-weight:600;letter-spacing:.02em;padding:6px 14px;transition:background .14s ease,transform .12s ease}.seg-notes-compose button:disabled{cursor:not-allowed;opacity:.4}.seg-notes-compose button:not(:disabled):hover{background:var(--seg-active);transform:translateY(-1px)}.seg-notes-empty{background:var(--seg-bg-muted);border-left:2px solid var(--seg-active);border-radius:0 6px 6px 0;color:var(--seg-ink-soft);font-size:12px;font-style:italic;line-height:1.5;margin:4px 0 0;padding:10px 12px}.seg-notes-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;max-height:320px;overflow-y:auto;padding:0}.seg-note{background:var(--seg-bg);border:1px solid var(--seg-line);border-left:2px solid var(--seg-active);border-radius:0 6px 6px 0;padding:8px 12px 10px;transition:border-color .14s ease}.seg-note:hover{border-color:var(--seg-line-strong);border-left-color:var(--seg-active)}.seg-note-meta{align-items:center;display:flex;gap:8px;justify-content:space-between}.seg-note-time{color:var(--seg-ink-soft);font-family:var(--seg-mono);font-size:10px;letter-spacing:.06em}.seg-note-delete{align-items:center;background:#0000;border:1px solid #0000;border-radius:4px;color:var(--seg-ink-soft);cursor:pointer;display:inline-flex;height:20px;justify-content:center;transition:color .14s ease,border-color .14s ease,background .14s ease;width:20px}.seg-note-delete:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.seg-note p{color:var(--seg-ink);font-size:13px;line-height:1.5;margin:6px 0 0;white-space:pre-wrap;word-break:break-word}.seg-panel-footer{align-items:center;background:var(--seg-bg-muted);border-top:1px solid var(--seg-line);display:flex;justify-content:flex-end;padding:12px 20px}.seg-delete-btn{align-items:center;background:#0000;border:1px solid #fecaca;border-radius:6px;color:#991b1b;cursor:pointer;display:inline-flex;font:inherit;font-size:12px;font-weight:600;gap:8px;letter-spacing:.03em;padding:6px 14px 6px 12px;transition:background .14s ease,border-color .14s ease,color .14s ease}.seg-delete-btn-mark{height:10px;position:relative;width:10px}.seg-delete-btn-mark:after,.seg-delete-btn-mark:before{background:currentColor;border-radius:1px;content:"";height:1.5px;left:0;position:absolute;right:0;top:50%}.seg-delete-btn-mark:before{transform:translateY(-50%) rotate(45deg)}.seg-delete-btn-mark:after{transform:translateY(-50%) rotate(-45deg)}.seg-delete-btn:hover{background:#fef2f2;border-color:#fca5a5;color:#7f1d1d}@keyframes seg-fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.seg-chip,.seg-note,.seg-note-delete,.seg-notes-compose button,.seg-panel-dismiss,.seg-section{animation:none!important;transition:none!important}}@media (max-width:880px){.seg-panel-bar{grid-template-areas:"id    close" "chips chips";grid-template-columns:1fr auto}.seg-panel-id{grid-area:id}.seg-panel-dismiss{grid-area:close}.seg-panel-chips{grid-area:chips;justify-content:flex-start}}.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)}.replay-no-polar-close{background:#0000;border:none;color:#5a4500;cursor:pointer;flex-shrink:0;font-size:1.25rem;line-height:1;padding:0 var(--space-1)}.replay-no-polar-close:hover{color:#000}.replay-workspace{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.replay-workspace .timeline-section{min-width:0;width:100%}.replay-workspace .segments-panel{max-height:none;max-width:100%;width:100%}.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}.lsm-zone{align-items:stretch;background:#f8fafc8c;border:2px dashed #0f172a24;border-radius:14px;cursor:pointer;display:flex;flex-direction:column;font-family:Manrope,system-ui,sans-serif;overflow:hidden;position:relative;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;width:100%}.lsm-zone:hover{background:#0ea5e908;border-color:#0ea5e961;box-shadow:0 0 0 4px #0ea5e912}.lsm-zone--drag{background:#0ea5e912;border-color:#0ea5e9;box-shadow:0 0 0 4px #0ea5e921}.lsm-zone-body{flex-direction:column;gap:10px;padding:42px 24px 22px;text-align:center}.lsm-zone-body,.lsm-zone-icon{align-items:center;display:flex}.lsm-zone-icon{background:#ffffffeb;border:1px solid #0f172a14;border-radius:14px;box-shadow:0 2px 8px -2px #0f172a1a;color:#0284c7;height:54px;justify-content:center;transition:transform .24s cubic-bezier(.22,.94,.32,1.1),color .2s ease,box-shadow .2s ease;width:54px}.lsm-zone--drag .lsm-zone-icon{box-shadow:0 8px 20px -4px #0ea5e947;color:#0ea5e9;transform:translateY(-4px) scale(1.07)}.lsm-zone-title{color:#0f172a;font-size:14px;font-weight:700;letter-spacing:-.01em;transition:color .2s ease}.lsm-zone--drag .lsm-zone-title{color:#0369a1}.lsm-zone-sub{align-items:center;color:#0f172a85;display:inline-flex;font-size:11px;font-weight:500;gap:5px}.lsm-zone-browse{color:#0284c7;font-weight:600;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.lsm-zone-footer{flex-direction:column;gap:10px;padding:0 18px 24px}.lsm-divider,.lsm-zone-footer{align-items:center;display:flex}.lsm-divider{gap:8px;width:100%}.lsm-divider-line{background:linear-gradient(90deg,#0000,#0f172a1a 50%,#0000);flex:1 1;height:1px}.lsm-divider-word{color:#0f172a5c;font-family:JetBrains Mono,ui-monospace,monospace;font-size:9px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.lsm-example-btn{align-items:center;animation:lsm-btn-breathe 3.8s ease-in-out infinite;background:#ffffffe0;border:1px solid #0f172a1a;border-radius:999px;color:#0f172aad;cursor:pointer;display:inline-flex;font-family:Manrope,system-ui,sans-serif;font-size:12.5px;font-weight:600;gap:6px;letter-spacing:-.005em;overflow:hidden;padding:9px 20px;position:relative;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .12s ease,box-shadow .2s ease}.lsm-example-btn:before{animation:lsm-btn-shimmer 7s ease-in-out infinite;animation-delay:1.6s;background:linear-gradient(90deg,#0000,#ffffff80 50%,#0000);content:"";height:100%;left:0;pointer-events:none;position:absolute;top:0;transform:translateX(-200%);width:50%}.lsm-example-btn span[aria-hidden]{animation:lsm-scope-peek 3.8s ease-in-out infinite;display:inline-block}@keyframes lsm-btn-breathe{0%,to{border-color:#0f172a1a;box-shadow:none}40%,60%{border-color:#0ea5e952;box-shadow:0 0 0 3px #0ea5e91a,0 4px 14px -4px #0ea5e938}}@keyframes lsm-btn-shimmer{0%,14%,to{transform:translateX(-200%)}26%{transform:translateX(350%)}}@keyframes lsm-scope-peek{0%,to{transform:rotate(0deg) scale(1)}25%{transform:rotate(-11deg) scale(1.12)}55%{transform:rotate(7deg) scale(1.04)}78%{transform:rotate(-4deg) scale(1)}}.lsm-example-btn:active:not(:disabled),.lsm-example-btn:hover:not(:disabled){animation:none;background:#fff;border-color:#0ea5e94d;box-shadow:0 3px 10px -3px #0ea5e938;color:#0284c7;transform:translateY(-1px)}.lsm-example-btn:active:before,.lsm-example-btn:hover:before{animation:none}.lsm-example-btn:active span[aria-hidden],.lsm-example-btn:hover span[aria-hidden]{animation:none;transform:rotate(-11deg) scale(1.12)}.lsm-example-btn:active:not(:disabled){transform:translateY(0)}.lsm-example-btn:disabled{animation:none;cursor:not-allowed;opacity:.5}.lsm-example-btn:disabled span[aria-hidden],.lsm-example-btn:disabled:before{animation:none}@media (prefers-reduced-motion:reduce){.lsm-example-btn,.lsm-example-btn span[aria-hidden],.lsm-example-btn:before{animation:none}}.tools-page{background:var(--color-bg);display:flex;flex-direction:column;gap:var(--space-4);min-height:calc(100vh - 80px);padding:var(--space-5)}.tools-page-header{grid-gap:var(--space-4);align-items:center;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);display:grid;gap:var(--space-4);grid-template-columns:1fr auto 1fr;padding:var(--space-4) var(--space-5)}.tools-page-header-left{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-self:start}.tools-page-header-center{align-items:center;display:flex;justify-content:center;justify-self:center}.tools-segmented{align-items:stretch;background:color-mix(in srgb,var(--color-surface) 70%,#0000);border:1px solid color-mix(in srgb,var(--color-border) 65%,#0000);border-radius:999px;display:inline-flex;isolation:isolate;padding:3px;position:relative}.tools-segmented-indicator{background:color-mix(in srgb,var(--color-surface-elevated) 92%,var(--color-text-primary) 8%);border-radius:999px;bottom:3px;box-shadow:0 1px 2px #0000000d,inset 0 0 0 1px color-mix(in srgb,var(--color-border) 55%,#0000);left:3px;pointer-events:none;position:absolute;top:3px;transition:transform .32s cubic-bezier(.65,0,.2,1.2);width:calc(50% - 3px);z-index:0}.tools-segmented[data-active=replay] .tools-segmented-indicator{transform:translateX(100%)}.tools-segmented-btn{align-items:center;background:#0000;border:none;border-radius:999px;color:var(--color-text-secondary);color:var(--color-text-tertiary,var(--color-text-secondary));cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-xs);font-weight:500;gap:6px;justify-content:center;letter-spacing:.02em;min-width:96px;padding:5px 14px;position:relative;transition:color .2s ease;z-index:1}.tools-segmented-btn:hover:not(.is-active){color:var(--color-text-secondary)}.tools-segmented-btn.is-active{color:var(--color-text-primary);font-weight:600}.tools-segmented-icon{flex-shrink:0;height:13px;opacity:.65;transition:opacity .2s ease;width:13px}.tools-segmented-btn.is-active .tools-segmented-icon{opacity:1}.tools-segmented-btn:focus-visible{outline:1px solid color-mix(in srgb,var(--color-primary) 55%,#0000);outline-offset:2px}.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)}.tools-page-active-context{align-items:center;display:inline-flex;flex-wrap:wrap;gap:6px}.tools-page-active-chip{align-items:center;background:color-mix(in srgb,var(--color-surface) 88%,#0000);border:1px solid color-mix(in srgb,var(--chip-accent,var(--color-border)) 35%,var(--color-border));border-radius:999px;box-shadow:inset 0 0 0 1px #fff6,0 1px 2px #0f172a0a;color:var(--color-text-primary);display:inline-flex;font-size:11.5px;font-weight:500;gap:6px;line-height:1;max-width:240px;overflow:hidden;padding:4px 9px 4px 7px;transition:border-color .14s ease,background-color .14s ease}.tools-page-active-chip:hover{background:color-mix(in srgb,var(--color-surface) 80%,#0000);border-color:color-mix(in srgb,var(--chip-accent,var(--color-border)) 55%,var(--color-border))}.tools-page-active-chip.is-boat{--chip-accent:#0ea5e9;color:#075985}.tools-page-active-chip.is-polar{--chip-accent:#14b8a6;color:#115e59}.tools-page-active-chip svg{color:var(--chip-accent);flex-shrink:0}.tools-page-active-chip .tpac-code{background:color-mix(in srgb,var(--chip-accent) 10%,#0000);border-radius:4px;color:var(--chip-accent);font-family:JetBrains Mono,IBM Plex Mono,SF Mono,Menlo,ui-monospace,monospace;font-size:9.5px;font-weight:800;letter-spacing:.08em;padding:2px 5px}.tools-page-active-chip .tpac-name{font-size:12px;font-weight:600;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.tools-page-active-chip{cursor:pointer;font-family:inherit}button.tools-page-active-chip:disabled{cursor:default;opacity:.75}button.tools-page-active-chip:disabled .tpac-caret{display:none}button.tools-page-active-chip.is-open{background:color-mix(in srgb,var(--chip-accent) 8%,var(--color-surface));border-color:color-mix(in srgb,var(--chip-accent) 80%,var(--color-border))}.tools-page-active-chip .tpac-caret{color:var(--chip-accent);font-size:8px;line-height:1;margin-left:1px;opacity:.85;transition:transform .16s ease}button.tools-page-active-chip.is-open .tpac-caret{transform:rotate(-180deg)}.tools-page-active-chip-wrap{position:relative}.tools-page-chip-menu{animation:chip-menu-in .16s ease-out both;border:1px solid var(--color-border);border-radius:12px;box-shadow:inset 0 1px 0 #fff9,0 12px 36px #0f172a24,0 3px 10px #0f172a14;display:flex;flex-direction:column;gap:1px;list-style:none;margin:0;max-height:320px;max-width:320px;min-width:240px;overflow-y:auto;padding:6px;right:0;top:calc(100% + 8px);z-index:60}.tools-page-chip-menu,.tools-page-chip-menu:before{background:#fff;background:var(--color-surface-elevated,#fff);position:absolute}.tools-page-chip-menu:before{border-left:1px solid var(--color-border);border-top:1px solid var(--color-border);content:"";height:10px;right:18px;top:-6px;transform:rotate(45deg);width:10px}@keyframes chip-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tpcm-option{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:var(--color-text-primary);cursor:pointer;display:flex;font:inherit;gap:8px;justify-content:space-between;padding:8px 10px;text-align:left;transition:background-color .12s ease,border-color .12s ease;width:100%}.tpcm-option:hover{background:color-mix(in srgb,var(--color-text-primary) 5%,#0000)}.tpcm-option.is-active{background:color-mix(in srgb,#2563eb 8%,#0000);background:color-mix(in srgb,var(--color-primary,#2563eb) 8%,#0000);border-color:color-mix(in srgb,#2563eb 30%,#0000);border-color:color-mix(in srgb,var(--color-primary,#2563eb) 30%,#0000)}.tpcm-option-name{flex:1 1 auto;font-size:13px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tpcm-option-meta{color:var(--color-text-secondary);color:var(--color-text-tertiary,var(--color-text-secondary));flex-shrink:0;font-size:11px;font-weight:500}.tpcm-option-pill{background:color-mix(in srgb,#14b8a6 14%,#0000);border-radius:4px;color:#115e59;flex-shrink:0;font-family:JetBrains Mono,IBM Plex Mono,SF Mono,Menlo,ui-monospace,monospace;font-size:9px;font-weight:800;letter-spacing:.08em;padding:2px 6px;text-transform:uppercase}.session-update-btn{background:#ffc107;border:none;border-radius:var(--radius-md);color:#000;display:flex;font-weight:600;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.session-save-btn,.session-update-btn{align-items:center;cursor:pointer;font-size:var(--font-size-sm)}.session-save-btn{background:#2563eb;background:var(--color-primary,#2563eb);border:1px solid color-mix(in srgb,#2563eb 85%,#fff);border:1px solid color-mix(in srgb,var(--color-primary,#2563eb) 85%,#fff);border-radius:var(--radius-md);box-shadow:0 8px 18px #2563eb29;color:#fff;display:inline-flex;font-family:inherit;font-weight:700;gap:8px;justify-content:center;min-height:42px;padding:0 14px;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.session-save-btn:hover:not(:disabled){box-shadow:0 10px 22px #2563eb38;transform:translateY(-1px)}.session-save-btn:disabled{cursor:not-allowed;opacity:.65}.session-save-btn svg{flex:0 0 auto}.tools-page-header-right{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-self:end}.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-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}.tools-page-dock{display:none}@media (max-width:768px){.tools-page{padding:var(--space-3);padding-bottom:calc(80px + env(safe-area-inset-bottom, 0px))}.tools-page-header{padding:var(--space-3)}.tools-page.is-mobile .tools-page-header{display:contents}.tools-page.is-mobile .tools-page-header-center,.tools-page.is-mobile .tools-page-header-left{display:none}.tools-page.is-mobile .tools-page-header-right{bottom:calc(96px + env(safe-area-inset-bottom, 0px));flex-wrap:nowrap;gap:8px;justify-self:auto;position:fixed;right:12px;z-index:49}.tools-page.is-mobile .session-save-btn{border-radius:12px;height:40px;min-height:40px;min-width:40px;padding:0;width:40px}.tools-page.is-mobile .session-save-btn span{display:none}.tools-page.is-mobile .tools-gear-btn{backdrop-filter:blur(14px) saturate(170%);-webkit-backdrop-filter:blur(14px) saturate(170%);background:#ffffffe0;border:1px solid #0f172a14;border-radius:12px;box-shadow:inset 0 1px 0 #fffffff2,0 8px 20px -6px #0f172a38,0 2px 4px #0f172a14;color:#0f172ab3;height:40px;width:40px}.tools-page.is-mobile .tools-gear-btn.is-active,.tools-page.is-mobile .tools-gear-btn:hover{background:#fff;border-color:#0f172a29;color:#0f172a}.tools-page.is-mobile .tools-gear-btn.is-active{transform:rotate(45deg)}.tools-segmented-btn{min-width:0;padding:5px 10px}.tools-segmented-btn span{font-size:11px}.tools-add-panel{width:100vw}.tools-page.is-mobile .tools-page-dock{align-items:stretch;backdrop-filter:blur(20px) saturate(170%);-webkit-backdrop-filter:blur(20px) saturate(170%);background:#0f172af0;border:1px solid #ffffff14;border-radius:18px;bottom:calc(10px + env(safe-area-inset-bottom, 0px));box-shadow:inset 0 1px 0 #ffffff0f,inset 0 -1px 0 #0000004d,0 16px 32px -10px #0f172a73,0 2px 6px #0f172a2e;display:grid;font-family:Manrope,system-ui,sans-serif;grid-template-columns:1fr 1fr;left:12px;overflow:hidden;padding:5px;position:fixed;right:12px;z-index:50}.tools-page.is-mobile .tools-page-dock-thumb{background:linear-gradient(180deg,#ffffff29,#ffffff0f);border:1px solid #fff3;border-radius:14px;bottom:5px;box-shadow:inset 0 1px 0 #ffffff38,inset 0 -1px 0 #00000040,0 6px 14px -4px #0006;left:5px;pointer-events:none;position:absolute;top:5px;transition:transform .28s cubic-bezier(.22,.94,.32,1.12);width:calc(50% - 5px)}.tools-page.is-mobile .tools-page-dock-thumb[data-active=replay]{transform:translateX(100%)}.tools-page.is-mobile .tools-page-dock-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000;border:none;color:#f8fafc80;cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:700;gap:8px;justify-content:center;letter-spacing:-.005em;padding:12px 8px;position:relative;transition:color .22s ease;z-index:1}.tools-page.is-mobile .tools-page-dock-btn svg{flex-shrink:0;opacity:.6;transition:opacity .22s ease,transform .28s cubic-bezier(.22,.94,.32,1.2)}.tools-page.is-mobile .tools-page-dock-btn.is-active{color:#f8fafc}.tools-page.is-mobile .tools-page-dock-btn.is-active svg{opacity:1;transform:scale(1.04)}}.tools-segmented-btn[data-attract=true]:not(.is-active){animation:tools-attract-pulse 2.4s ease-in-out infinite;color:color-mix(in srgb,#0ea5e9 78%,var(--color-text-secondary));color:color-mix(in srgb,var(--color-primary,#0ea5e9) 78%,var(--color-text-secondary))}.tools-segmented-btn[data-attract=true]:not(.is-active) .tools-segmented-icon{animation:tools-attract-hop 2.4s ease-in-out infinite;opacity:.95;transform-origin:50% 65%}.tools-segmented-btn[data-attract=true]:not(.is-active):after{animation:tools-attract-ping 1.6s ease-out infinite;background:#0ea5e9;background:var(--color-primary,#0ea5e9);border-radius:50%;box-shadow:0 0 0 0 color-mix(in srgb,#0ea5e9 60%,#0000);box-shadow:0 0 0 0 color-mix(in srgb,var(--color-primary,#0ea5e9) 60%,#0000);content:"";height:6px;pointer-events:none;position:absolute;right:8px;top:2px;width:6px}@keyframes tools-attract-pulse{0%,to{box-shadow:none;text-shadow:none}50%{box-shadow:0 0 0 4px color-mix(in srgb,#0ea5e9 14%,#0000);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary,#0ea5e9) 14%,#0000);text-shadow:0 0 10px color-mix(in srgb,#0ea5e9 55%,#0000);text-shadow:0 0 10px color-mix(in srgb,var(--color-primary,#0ea5e9) 55%,#0000)}}@keyframes tools-attract-hop{0%,55%,to{transform:translateY(0) rotate(0deg) scale(1)}62%{transform:translateY(-1.5px) rotate(-6deg) scale(1.08)}72%{transform:translateY(-2px) rotate(5deg) scale(1.08)}82%{transform:translateY(-1px) rotate(-3deg) scale(1.04)}}@keyframes tools-attract-ping{0%{box-shadow:0 0 0 0 color-mix(in srgb,#0ea5e9 55%,#0000);box-shadow:0 0 0 0 color-mix(in srgb,var(--color-primary,#0ea5e9) 55%,#0000);transform:scale(.85)}60%{box-shadow:0 0 0 7px color-mix(in srgb,#0ea5e9 0,#0000);box-shadow:0 0 0 7px color-mix(in srgb,var(--color-primary,#0ea5e9) 0,#0000);transform:scale(1)}to{box-shadow:0 0 0 0 #0000;transform:scale(.85)}}.tools-page.is-mobile .tools-page-dock-btn[data-attract=true]:not(.is-active){animation:tools-dock-attract-pulse 2.4s ease-in-out infinite;color:#fcd34d}.tools-page.is-mobile .tools-page-dock-btn[data-attract=true]:not(.is-active) svg{animation:tools-attract-hop 2.4s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(252,211,77,.45));opacity:1;transform-origin:50% 65%}.tools-page.is-mobile .tools-page-dock-btn[data-attract=true]:not(.is-active):after{animation:tools-dock-attract-ping 1.6s ease-out infinite;background:#fcd34d;border-radius:50%;box-shadow:0 0 0 0 #fcd34d99;content:"";height:6px;pointer-events:none;position:absolute;right:18px;top:10px;width:6px}@keyframes tools-dock-attract-pulse{0%,to{color:#fcd34db8;text-shadow:none}50%{color:#fde68a;text-shadow:0 0 10px #fcd34d8c,0 0 22px #fcd34d40}}@keyframes tools-dock-attract-ping{0%{box-shadow:0 0 0 0 #fcd34d8c;transform:scale(.85)}60%{box-shadow:0 0 0 9px #fcd34d00;transform:scale(1)}to{box-shadow:0 0 0 0 #fcd34d00;transform:scale(.85)}}@media (prefers-reduced-motion:reduce){.tools-page.is-mobile .tools-page-dock-btn[data-attract=true]:not(.is-active),.tools-page.is-mobile .tools-page-dock-btn[data-attract=true]:not(.is-active) svg,.tools-page.is-mobile .tools-page-dock-btn[data-attract=true]:not(.is-active):after,.tools-segmented-btn[data-attract=true]:not(.is-active),.tools-segmented-btn[data-attract=true]:not(.is-active) .tools-segmented-icon,.tools-segmented-btn[data-attract=true]:not(.is-active):after{animation:none}}.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.96c866c8.css.map*/