._wrap_owvhw_1{justify-content:center;align-items:center;gap:var(--space-3);min-height:100vh;padding:var(--space-6);text-align:center;background:var(--bg);color:var(--text);flex-direction:column;display:flex}._eyebrow_owvhw_14{font:var(--text-eyebrow);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin:0}._wrap_owvhw_1 h1{font:var(--text-display-m);margin:0}._body_owvhw_27{font:var(--text-body);color:var(--text-muted);max-width:360px;margin:0 0 var(--space-2)}._wrap_u033g_1{background:var(--bg);min-height:100vh;color:var(--text-muted);font:var(--text-eyebrow);letter-spacing:.14em;text-transform:uppercase;justify-content:center;align-items:center;display:flex}._viewport_1sj85_1{z-index:4000;pointer-events:none;flex-direction:column;gap:8px;width:min(360px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}._toast_1sj85_18{pointer-events:auto;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-panel-raised);box-shadow:var(--shadow-float);align-items:flex-start;gap:10px;padding:12px 12px 12px 14px;display:flex}._ok_1sj85_30{border-color:var(--accent-astar)}._error_1sj85_34{border-color:var(--danger)}._icon_1sj85_38{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:700;line-height:1;display:flex}._ok_1sj85_30 ._icon_1sj85_38{color:#06231d;background:var(--accent-astar)}._error_1sj85_34 ._icon_1sj85_38{color:var(--text);background:var(--danger)}._message_1sj85_61{color:var(--text);flex:1;margin:0;font-size:13px;line-height:1.5}._close_1sj85_69{width:40px;height:40px;color:var(--text-muted);background:0 0;border-color:#0000;flex-shrink:0;justify-content:center;align-items:center;margin:-9px -6px -9px 0;padding:0;font-size:20px;line-height:1;display:flex}._close_1sj85_69:hover{color:var(--text);border-color:var(--border)}@media (width<=640px){._viewport_1sj85_1{width:auto;bottom:12px;left:12px;right:12px}}:root{--bg:#0a0e13;--bg-panel:#121821;--bg-panel-raised:#1a212c;--border:#232c38;--border-soft:#1a212c;--text:#e9eef3;--text-muted:#8b97a5;--text-faint:#808d9d;--accent-astar:#34e3a8;--accent-astar-dim:#1d7d5c;--accent-dijkstra:#f2a154;--accent-dijkstra-dim:#8a5c2e;--point-origin:#fff;--point-dest:#b18cf2;--danger:#ef5b5b;--danger-dim:#4a2626;--ok:#34e3a8;--accent-live:#3aa0ff;--bg-rgb:10, 14, 19;--overlay-hover:#ffffff14;--overlay-shimmer:#ffffff0e;--button-primary-text:#06231d;--button-primary-hover:#63e9cb;--error-text:#ffd7d7;--font-display:"Space Grotesk", "Inter", system-ui, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--font-body:"Inter", system-ui, "Segoe UI", sans-serif;--radius:12px;--radius-sm:8px;--radius-pill:999px;--shadow-panel:0 8px 30px #00000059;--shadow-float:0 4px 12px #00000047, 0 16px 48px #00000073;--text-display-xl:700 56px/1.05 var(--font-display);--text-display-l:600 36px/1.1 var(--font-display);--text-display-m:600 22px/1.25 var(--font-display);--text-body-l:400 17px/1.5 var(--font-body);--text-body:400 14px/1.5 var(--font-body);--text-mono-data:500 14px/1.4 var(--font-mono);--text-eyebrow:500 11px/1.4 var(--font-mono);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px}:root[data-theme=light]{--bg:#eef1f4;--bg-panel:#fff;--bg-panel-raised:#fff;--border:#d7dee5;--border-soft:#e6eaee;--text:#182029;--text-muted:#5b6673;--text-faint:#6b7684;--accent-astar:#0f9d72;--accent-astar-dim:#d3f0e6;--accent-dijkstra:#c3721f;--accent-dijkstra-dim:#f6e3cd;--point-origin:#182029;--point-dest:#7c4fd6;--danger:#d13f3f;--danger-dim:#fbe0e0;--ok:#0f9d72;--accent-live:#1f7fd6;--bg-rgb:238, 241, 244;--overlay-hover:#0a0e130d;--overlay-shimmer:#0a0e130f;--button-primary-hover:#17b385;--error-text:#7a1f1f}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font:var(--text-body);-webkit-font-smoothing:antialiased;touch-action:manipulation;margin:0}a{color:var(--accent-astar)}button,input,select{color:var(--text);font-family:inherit;font-size:14px}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent-astar);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button{cursor:pointer;background:var(--bg-panel-raised);border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 18px;font-weight:600;transition:border-color .16s,background-color .16s,color .16s,transform 80ms}button:hover{border-color:var(--accent-astar)}button:active{transform:scale(.98)}button.primary{background:var(--accent-astar);border-color:var(--accent-astar);color:var(--button-primary-text)}button.primary:hover{background:var(--button-primary-hover)}button.primary:disabled{background:var(--bg-panel-raised);border-color:var(--border);color:var(--text-faint);cursor:not-allowed}button.ghost{background:0 0}button.danger{border-color:var(--danger);color:var(--danger);background:0 0}button.danger:hover{background:var(--danger-dim)}button.danger:disabled{background:var(--bg-panel-raised);border-color:var(--border);color:var(--text-faint);cursor:not-allowed}input,select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:11px 12px;transition:border-color .16s}input:hover,select:hover{border-color:var(--text-faint)}@media (width<=640px){input,select,textarea{font-size:16px}}input::placeholder{color:var(--text-faint)}label{color:var(--text-muted);margin-bottom:4px;font-size:12px;display:block}.field{margin-bottom:12px}.check-field{cursor:pointer;color:var(--text);align-items:flex-start;gap:8px;margin-bottom:12px;font-size:13px;display:flex}.check-field input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-astar);cursor:pointer;flex-shrink:0;margin:1px 0 0}.error-banner{background:var(--danger-dim);border:1px solid var(--danger);color:var(--error-text);border-radius:var(--radius-sm);margin-bottom:14px;padding:10px 12px;font-size:13px}.info-banner{border:1px solid var(--accent-astar);color:var(--text);border-radius:var(--radius-sm);background:#34e3a81f;margin-bottom:14px;padding:10px 12px;font-size:13px}.warn-banner{border:1px solid var(--accent-dijkstra);color:var(--text);border-radius:var(--radius-sm);background:#f2a1541f;margin-bottom:14px;padding:10px 12px;font-size:13px}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);font-size:11px}.mono-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.panel{background:var(--bg-panel-raised);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:14px;padding:16px}.panel h2{letter-spacing:-.005em;color:var(--text);margin:0 0 14px;font-size:13px;font-weight:600}.hint{color:var(--text-faint);margin:6px 0 12px;font-size:12px;line-height:1.5}.hint.hint-ok{color:var(--accent-astar)}button.small{padding:6px 10px;font-size:12.5px}@media (width<=640px){button.small{padding:11px 14px}}.inline-form{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.address-search-row{gap:8px;display:flex}.address-search-row input{flex:1}.address-result{color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:8px;padding:8px 10px;font-size:12px;line-height:1.5}.address-result .warn{color:var(--accent-dijkstra)}.address-result .error{color:var(--danger)}.full-width{justify-content:center;align-items:center;gap:6px;width:100%;margin-bottom:8px;display:flex}.btn-icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:16px;height:16px}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--bg-panel-raised)!important;color:var(--text)!important;box-shadow:var(--shadow-float)!important}.leaflet-popup-content-wrapper{border:1px solid var(--border)}.leaflet-popup-close-button{color:var(--text-faint)!important}.leaflet-popup-close-button:hover{color:var(--text)!important}
