body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background:#f4f6f8;color:#172033;min-height:100vh}.planner-shell{min-height:100vh;overflow:hidden;position:relative}.planner-toolbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border:1px solid #0f172a1f;border-radius:8px;box-shadow:0 14px 32px #0f172a29;box-sizing:border-box;left:16px;max-height:calc(100vh - 32px);overflow:auto;padding:12px;position:fixed;top:16px;width:min(760px,calc(100vw - 440px));z-index:1002}.auth-shell{background:#eef2f7;display:grid;min-height:100vh;padding:24px;place-items:center}.auth-panel{grid-gap:28px;align-items:center;background:#fff;border:1px solid #d9e0e8;border-radius:8px;box-shadow:0 18px 44px #0f172a1f;display:grid;gap:28px;grid-template-columns:minmax(0,1fr) 360px;padding:28px;text-align:left;width:min(920px,100%)}.auth-copy{grid-gap:10px;display:grid;gap:10px}.auth-copy span{color:#1d4ed8;font-size:13px;font-weight:800;text-transform:uppercase}.auth-copy h1{color:#172033;font-size:32px;line-height:1.12;margin:0}.auth-copy p{color:#64748b;font-size:16px;line-height:1.5;margin:0}.auth-form{grid-gap:12px;display:grid;gap:12px}.auth-tabs{border:1px solid #cbd5e1;border-radius:6px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden}.auth-tabs button{background:#fff;border:0;border-right:1px solid #cbd5e1;color:#334155;cursor:pointer;font:inherit;font-weight:800;height:38px}.auth-tabs button:last-child{border-right:0}.auth-tabs button.selected{background:#1d4ed8;color:#fff}.auth-form label{grid-gap:5px;color:#475569;display:grid;font-size:13px;font-weight:700;gap:5px}.auth-form input{border:1px solid #cbd5e1;border-radius:6px;font:inherit;height:40px;padding:0 10px}.auth-form>button{background:#1d4ed8;border:0;border-radius:6px;color:#fff;cursor:pointer;font:inherit;font-weight:800;height:42px}.auth-form>button:disabled{background:#94a3b8;cursor:wait}.user-bar{color:#475569;font-size:13px;font-weight:800;gap:10px;justify-content:flex-end;margin-bottom:10px}.inline-auth-form{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:180px minmax(160px,1fr) minmax(150px,1fr) 120px auto;width:100%}.inline-auth-form input{background:#fff;border:1px solid #cbd5e1;border-radius:6px;font:inherit;height:32px;padding:0 9px}.inline-auth-form>button{background:#1d4ed8;border:0;border-radius:6px;color:#fff;cursor:pointer;font:inherit;font-weight:800;height:32px;padding:0 10px}.inline-auth-form>button:disabled{background:#94a3b8;cursor:wait}.auth-tabs.compact{height:32px}.auth-tabs.compact button{font-size:12px;height:32px}.weather-login-note{display:none}.user-bar button{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#334155;cursor:pointer;font:inherit;font-weight:800;height:30px;padding:0 10px}.trip-form{grid-gap:10px;align-items:end;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 190px 120px}.route-preference-field,.travel-mode-field,.trip-form label{grid-gap:5px;color:#475569;display:grid;font-size:13px;font-weight:600;gap:5px;text-align:left}.route-preference-field,.travel-mode-field{grid-column:span 2}.trip-form input{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#172033;font:inherit;height:38px;padding:0 10px}.travel-mode-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.route-preference-buttons,.travel-mode-buttons{background:#fff;border:1px solid #cbd5e1;border-radius:6px;display:grid;height:38px;overflow:hidden}.route-preference-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.route-preference-button,.travel-mode-button{align-items:center;background:#fff;border:0;border-right:1px solid #cbd5e1;color:#334155;cursor:pointer;display:flex;font:inherit;font-size:13px;font-weight:800;gap:6px;justify-content:center;min-width:0;padding:0 8px}.route-preference-button:last-child,.travel-mode-button:last-child{border-right:0}.travel-mode-button svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;height:20px;width:20px}.route-preference-button.selected,.travel-mode-button.selected{background:#1d4ed8;color:#fff}.route-preference-button:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.route-preference-button:focus-visible,.travel-mode-button:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}.trip-form>button{background:#1d4ed8;border:0;border-radius:6px;color:#fff;cursor:pointer;font:inherit;font-weight:700;height:40px}.trip-form>button:disabled{background:#94a3b8;cursor:wait}.error-message{background:#fee2e2;border-radius:6px;color:#991b1b;margin-top:10px;padding:10px 12px;text-align:left}.map-stage,.planner-content{min-height:100vh}.map-stage{min-width:0;position:relative}.map-panel{background:#dbe4ee;height:100vh;min-height:100vh;width:100%}.map-layer-toggles{display:flex;flex-direction:column;gap:8px;left:16px;position:fixed;top:124px;z-index:1001}.layer-toggle{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffb3;border:1px solid #0f172a1f;border-radius:50%;box-shadow:0 4px 12px #0f172a1f;color:#475569;cursor:pointer;display:flex;height:40px;justify-content:center;padding:0;transition:background .15s,color .15s,transform .1s;width:40px}.layer-toggle:hover{transform:translateY(-1px)}.layer-toggle svg{height:20px;width:20px}.layer-toggle.active{background:#2563eb;border-color:#2563eb;color:#fff}.layer-toggle.state-error:not(.active){border-color:#dc262666;color:#dc2626}.layer-toggle.active.state-error{background:#dc2626;border-color:#dc2626}.layer-toggle:disabled{cursor:not-allowed;opacity:.45}.map-nav-actions{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffd9;border-radius:999px;bottom:16px;box-shadow:0 8px 22px #0f172a29;display:flex;gap:6px;left:50%;padding:6px;position:fixed;transform:translateX(-50%);z-index:1000}.nav-action{background:#0000;border:none;border-radius:999px;color:#0f172a;cursor:pointer;font-size:.9rem;padding:8px 16px}.nav-action:disabled{cursor:not-allowed;opacity:.4}.nav-action.danger{color:#dc2626}.nav-gps-error{color:#dc2626;font-size:.8rem;padding:0 8px}.map-nav-actions,.search-open .map-layer-toggles{display:none}.planner-shell.navigating .map-nav-actions{display:flex}.navigation-widget{grid-gap:5px;background:#fffffff5;border:1px solid #0f172a1f;border-radius:8px;box-shadow:0 14px 30px #0f172a2e;display:grid;gap:5px;left:16px;padding:12px 14px;position:absolute;top:16px;width:min(420px,calc(100% - 32px));z-index:1001}.navigation-widget-label{color:#2563eb;font-size:12px;font-weight:800;text-transform:uppercase}.navigation-widget strong{color:#172033;font-size:18px;line-height:1.2}.navigation-widget small,.navigation-widget-next{color:#475569;font-size:13px;font-weight:700;line-height:1.35}.navigation-speed{background:#172033;color:#fff}.navigation-road-context,.navigation-speed{border-radius:999px;font-size:13px;font-weight:900;padding:4px 9px;width:fit-content}.navigation-road-context{background:#ffedd5;color:#9a3412}.route-summary-card{grid-gap:5px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border:1px solid #0f172a1f;border-radius:8px;bottom:16px;box-shadow:0 14px 32px #0f172a29;box-sizing:border-box;display:grid;gap:5px;left:50%;padding:12px;position:fixed;text-align:left;transform:translateX(-50%);width:min(460px,calc(100vw - 32px));z-index:1002}.route-summary-card>span{color:#2563eb;font-size:12px;font-weight:900;text-transform:uppercase}.route-summary-card strong{color:#172033;font-size:18px;line-height:1.2}.route-summary-card small{color:#64748b;font-size:13px;font-weight:800}.route-summary-card div{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.route-summary-card button{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#172033;cursor:pointer;font:inherit;font-size:13px;font-weight:800;min-height:34px;padding:0 10px}.route-summary-card button.primary{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.route-summary-card button:disabled{background:#e2e8f0;border-color:#cbd5e1;color:#64748b;cursor:not-allowed}.control-button{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#172033;cursor:pointer;font:inherit;font-weight:700;min-height:36px;padding:0 12px}.control-button.active{background:#ccfbf1;border-color:#0f766e;color:#115e59}.control-button.primary{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.control-button.danger{background:#dc2626;border-color:#dc2626;color:#fff}.control-button:disabled{background:#e2e8f0;border-color:#cbd5e1;color:#64748b;cursor:not-allowed}.radar-status{align-items:center;color:#475569;display:inline-flex;font-size:13px;font-weight:700;gap:6px;margin-right:auto;white-space:nowrap}.data-source-link{color:#2563eb;font-size:12px;font-weight:800;text-decoration:none}.data-source-link:hover{text-decoration:underline}.radar-error{color:#991b1b}.route-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border:1px solid #0f172a1f;border-radius:8px;bottom:16px;box-shadow:0 14px 32px #0f172a29;box-sizing:border-box;overflow:auto;padding:16px;position:fixed;right:16px;text-align:left;top:16px;width:380px;z-index:1002}.recommendation{grid-gap:6px;border-bottom:1px solid #e2e8f0;display:grid;gap:6px;padding-bottom:16px}.recommendation span{color:#64748b;font-size:12px;font-weight:700;text-transform:uppercase}.recommendation strong{line-height:1.35}.empty-panel,.recommendation p{color:#64748b;line-height:1.45;margin:0}.recommendation .mode-warning{background:#fef3c7;border-radius:6px;color:#92400e;font-weight:700;padding:9px 10px}.navigation-panel{grid-gap:7px;border-bottom:1px solid #e2e8f0;display:grid;gap:7px;padding:14px 0}.navigation-panel span{color:#64748b;font-size:12px;font-weight:700;text-transform:uppercase}.navigation-panel small{color:#64748b}.navigation-panel .navigation-next-line{color:#172033;font-weight:800}.navigation-voice-controls{grid-gap:8px;align-items:end;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.navigation-voice-controls label{grid-gap:4px;color:#64748b;display:grid;font-size:12px;font-weight:800;gap:4px;text-transform:uppercase}.navigation-voice-controls select{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#172033;font:inherit;font-size:13px;min-height:34px;padding:0 9px;text-transform:none;width:100%}.navigation-voice-controls button{background:#eff6ff;border:1px solid #1d4ed8;border-radius:6px;color:#1d4ed8;cursor:pointer;font:inherit;font-size:13px;font-weight:800;min-height:34px;padding:0 10px}.navigation-progress{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden}.navigation-progress span{background:#2563eb;border-radius:inherit;display:block;height:100%;transition:width .2s ease}.route-list{grid-gap:8px;display:grid;gap:8px;margin:16px 0}.route-choice{grid-gap:10px;align-items:center;background:#fff;border:1px solid #d9e0e8;border-radius:8px;color:inherit;cursor:pointer;display:grid;font:inherit;gap:10px;grid-template-columns:8px minmax(0,1fr) auto;padding:10px;text-align:left;width:100%}.route-choice.selected{border-color:#1d4ed8;box-shadow:0 0 0 2px #1d4ed81f}.route-color{border-radius:999px;height:42px;width:8px}.route-choice strong,.weather-row strong{display:block;margin-bottom:3px}.route-choice small,.weather-row small{color:#64748b;display:block;line-height:1.35}.wind-impact{border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;line-height:1.2;margin:4px 0 2px;padding:3px 8px;width:fit-content}.wind-head-strong{background:#fee2e2;color:#991b1b}.wind-head-light{background:#ffedd5;color:#9a3412}.wind-tail-strong{background:#dcfce7;color:#166534}.wind-tail-light{background:#ecfccb;color:#3f6212}.wind-neutral{background:#e2e8f0;color:#334155}.risk-pill{border-radius:999px;font-size:12px;font-weight:700;padding:5px 8px;white-space:nowrap}.risk-none{background:#dcfce7;color:#166534}.risk-low{background:#ecfccb;color:#3f6212}.risk-medium{background:#fef3c7;color:#92400e}.risk-high{background:#fee2e2;color:#991b1b}.risk-unknown{background:#e2e8f0;color:#334155}.weather-list{grid-gap:10px;display:grid;gap:10px}.weather-list h2{font-size:18px;margin:0 0 2px}.locked-weather{background:#f8fafc;border-radius:6px;color:#64748b;line-height:1.45;margin:0;padding:10px 12px}.weather-row{grid-gap:10px;align-items:start;border-top:1px solid #edf2f7;display:grid;gap:10px;grid-template-columns:12px minmax(0,1fr);padding:10px 0}.weather-dot{border-radius:999px;height:10px;margin-top:5px;width:10px}@media (max-width:900px){.auth-panel{grid-template-columns:1fr}.planner-shell{overflow:auto}.planner-toolbar{left:10px;max-height:42vh;padding:10px;position:fixed;right:10px;top:10px;width:auto}.route-summary-card{bottom:10px;left:10px;right:10px;top:auto;transform:none;width:auto}.search-collapsed .route-panel{display:none}.inline-auth-form,.trip-form{grid-template-columns:1fr}.trip-form>button{grid-column:auto}.map-panel{height:100vh;min-height:100vh}.map-layer-toggles{left:10px;top:118px}.navigation-widget{left:10px;top:10px;width:calc(100% - 20px)}.radar-status{order:-1;width:100%}.route-panel{border:1px solid #0f172a1f;bottom:10px;left:10px;max-height:40vh;right:10px;top:auto;width:auto}}.search-fab{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border:1px solid #0f172a1f;border-radius:50%;box-shadow:0 10px 26px #0f172a2e;color:#0f172a;cursor:pointer;display:flex;height:48px;justify-content:center;left:16px;position:fixed;top:70px;width:48px;z-index:1003}.search-fab:hover{background:#fff}.planner-shell.navigating .map-layer-toggles,.planner-shell.navigating .planner-toolbar,.planner-shell.navigating .route-panel,.planner-shell.navigating .route-summary-card,.planner-shell.navigating .search-fab{display:none!important}.welcome-overlay{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:2000}.welcome-card{background:#fff;border-radius:14px;box-shadow:0 24px 60px #0f172a4d;box-sizing:border-box;padding:28px 24px;text-align:center;width:min(420px,100%)}.welcome-card h1{font-size:1.6rem;margin:0 0 8px}.welcome-card p{color:#475569;line-height:1.5;margin:0 0 22px}.welcome-actions{grid-gap:12px;display:grid;gap:12px}.welcome-actions button{background:#fff;border:1px solid #0f172a26;border-radius:10px;color:#0f172a;cursor:pointer;font-size:1rem;padding:14px 16px}.welcome-actions button.primary{grid-gap:2px;background:#2563eb;border-color:#2563eb;color:#fff;display:grid;gap:2px}.welcome-actions button.primary small{font-size:.8rem;font-weight:400;opacity:.85}.map-popup{background:#fffffffa;border:1px solid #0f172a1f;border-radius:10px;box-shadow:0 10px 28px #0f172a40;color:#0f172a;font-size:.85rem;line-height:1.35;max-width:280px;min-width:150px;padding:10px 30px 10px 12px;position:relative}.map-popup-text{white-space:pre-line}.traffic-advice{grid-gap:6px;background:#fffffffa;border:1px solid #0f172a1f;border-left-width:5px;border-radius:10px;box-shadow:0 12px 30px #0f172a33;box-sizing:border-box;color:#0f172a;display:grid;font-size:.85rem;gap:6px;left:50%;line-height:1.35;padding:12px 14px;position:fixed;top:16px;transform:translateX(-50%);width:min(460px,calc(100vw - 32px));z-index:1004}.traffic-advice.advice-warning{border-left-color:#eab308}.traffic-advice.advice-alternative,.traffic-advice.advice-suggest{border-left-color:#f97316}.traffic-advice.advice-strong{border-left-color:#dc2626}.traffic-advice-strong{font-weight:700}.traffic-advice button{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;justify-self:start;padding:7px 14px}.user-bar{align-items:center;display:flex;gap:8px;justify-content:space-between}.user-status{color:#0f172a;font-size:.9rem}.settings-open{background:#fff;border:1px solid #0f172a26;border-radius:8px;color:#0f172a;cursor:pointer;font-size:.85rem;padding:6px 12px}.settings-overlay{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:2001}.settings-card{background:#fff;border-radius:14px;box-shadow:0 24px 60px #0f172a4d;box-sizing:border-box;padding:20px 22px;width:min(420px,100%)}.settings-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.settings-head h2{font-size:1.2rem;margin:0}.settings-close{background:#0000;border:none;color:#64748b;cursor:pointer;font-size:1.4rem;line-height:1}.settings-section{grid-gap:12px;display:grid;gap:12px}.settings-section label{grid-gap:4px;color:#334155;display:grid;font-size:.85rem;gap:4px}.settings-section input{border:1px solid #0f172a2e;border-radius:8px;font-size:.9rem;padding:10px}.settings-actions{display:flex;gap:8px;margin-top:4px}.settings-actions button{background:#fff;border:1px solid #0f172a26;border-radius:8px;cursor:pointer;padding:10px 16px}.settings-actions .primary{background:#2563eb;border-color:#2563eb;color:#fff}.anon-note{color:#64748b;font-size:.8rem;line-height:1.4;margin:4px 0 0}.settings-hint{color:#2563eb;font-size:.8rem;margin:0}.vehicle-section{border-top:1px solid #0f172a1a;margin-top:4px;padding-top:12px}.vehicle-section h3{font-size:.95rem;margin:0}.vehicle-section select{background:#fff;border:1px solid #0f172a2e;border-radius:8px;font-size:.9rem;padding:10px}.consumption-line{color:#334155}.consumption-warn{color:#dc2626;font-weight:600}.edit-endpoint{background:#0000;border:none;color:#2563eb;cursor:pointer;font:inherit;font-weight:700;padding:0 2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.edit-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a80;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:2002}.edit-card{background:#fff;border-radius:12px;box-shadow:0 24px 60px #0f172a4d;box-sizing:border-box;padding:18px 20px;width:min(380px,100%)}.edit-card h3{font-size:1.05rem;margin:0 0 10px}.edit-card input{border:1px solid #0f172a33;border-radius:8px;box-sizing:border-box;font-size:.95rem;padding:10px;width:100%}.edit-quick{display:flex;gap:8px;margin-top:8px}.edit-quick button{background:#f1f5f9;border:1px solid #0f172a26;border-radius:8px;cursor:pointer;font-size:.85rem;padding:6px 12px}.edit-actions{display:flex;gap:8px;margin-top:12px}.edit-actions button{background:#fff;border:1px solid #0f172a26;border-radius:8px;cursor:pointer;padding:9px 16px}.edit-actions .primary{background:#2563eb;border-color:#2563eb;color:#fff}.map-popup:after{border-left:7px solid #0000;border-right:7px solid #0000;border-top:7px solid #fffffffa;bottom:-7px;content:"";left:50%;position:absolute;transform:translateX(-50%)}.map-popup-close{background:#0000;border:none;color:#64748b;cursor:pointer;font-size:1.15rem;line-height:1;padding:0;position:absolute;right:6px;top:3px}:host,:root{--ol-background-color:#fff;--ol-accent-background-color:#f5f5f5;--ol-subtle-background-color:#80808040;--ol-partial-background-color:#ffffffbf;--ol-foreground-color:#333;--ol-subtle-foreground-color:#666;--ol-brand-color:#0af}.ol-box{background-color:#ffffffbf;background-color:var(--ol-partial-background-color);border:1.5px solid #fff;border:1.5px solid var(--ol-background-color);border-radius:2px;box-sizing:border-box}.ol-mouse-position{position:absolute;right:8px;top:8px}.ol-scale-line{background:#ffffffbf;background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid #666;border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:#333;color:var(--ol-foreground-color);font-size:10px;margin:1px;text-align:center;transition:all .25s;will-change:contents,width}.ol-scale-bar{bottom:8px;left:8px;position:absolute}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{background-color:#333;background-color:var(--ol-foreground-color);float:right;height:15px;width:1px;z-index:10}.ol-scale-step-text{bottom:-5px;font-size:10px;z-index:11}.ol-scale-step-text,.ol-scale-text{color:#333;color:var(--ol-foreground-color);position:absolute;text-shadow:-1.5px 0 #ffffffbf,0 1.5px #ffffffbf,1.5px 0 #ffffffbf,0 -1.5px #ffffffbf;text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{bottom:25px;font-size:12px;text-align:center}.ol-scale-singlebar{border:1px solid #333;border:1px solid var(--ol-foreground-color);box-sizing:border-box;height:10px;position:relative;z-index:9}.ol-scale-singlebar-even{background-color:#666;background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:#fff;background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-unselectable,.ol-viewport{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:grabbing}.ol-grab{cursor:move;cursor:grab}.ol-control{background-color:#80808040;background-color:var(--ol-subtle-background-color);border-radius:4px;position:absolute}.ol-zoom{left:.5em;top:.5em}.ol-rotate{right:.5em;top:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;transition:opacity .25s linear,visibility 0s linear .25s;visibility:hidden}.ol-zoom-extent{left:.5em;top:4.643em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{background-color:#fff;background-color:var(--ol-background-color);border:none;border-radius:2px;color:#666;color:var(--ol-subtle-foreground-color);display:block;font-size:inherit;font-weight:700;height:1.375em;line-height:.4em;margin:1px;padding:0;text-align:center;text-decoration:none;width:1.375em}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:focus,.ol-control button:hover{color:#333;color:var(--ol-foreground-color);outline:1px solid #666;outline:1px solid var(--ol-subtle-foreground-color);text-decoration:none}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{align-items:center;bottom:.5em;display:flex;flex-flow:row-reverse;max-width:calc(100% - 1.3em);right:.5em;text-align:right}.ol-attribution a{color:#666;color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{color:#333;color:var(--ol-foreground-color);font-size:12px;margin:0;padding:1px .5em;text-shadow:0 0 2px #fff;text-shadow:0 0 2px var(--ol-background-color)}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:#ffffffbf;background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{border-radius:4px 0 0;bottom:0;right:0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{height:200px;left:.5em;top:4.5em}.ol-zoomslider button{height:10px;position:relative}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{bottom:.5em;left:.5em}.ol-overviewmap.ol-uncollapsible{border-radius:0 4px 0 0;bottom:0;left:0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid #666;border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:#80808040;background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted #666;border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}
/*# sourceMappingURL=main.8c20b523.css.map*/