:root{--hm-bg: rgba(255, 255, 255, .86);--hm-fg: #1d222c;--hm-muted: #5d6676;--hm-line: rgba(20, 30, 50, .12);--hm-accent: #2f6fde;--hm-shadow: 0 6px 24px rgba(10, 20, 40, .18);--hm-radius: 14px;color-scheme:light}:root.hm-night{--hm-bg: rgba(20, 24, 33, .86);--hm-fg: #e6eaf2;--hm-muted: #9aa4b6;--hm-line: rgba(255, 255, 255, .1);--hm-accent: #6fa1ff;--hm-shadow: 0 6px 24px rgba(0, 0, 0, .45);color-scheme:dark}html,body{margin:0;height:100%;overflow:hidden;background:#000}body{font:14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--hm-fg);-webkit-tap-highlight-color:transparent}#map{position:fixed;inset:0}.hm-ui button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}.hm-search{position:fixed;top:calc(12px + env(safe-area-inset-top));left:12px;width:min(360px,calc(100vw - 80px));display:flex;align-items:center;gap:8px;padding:0 12px;height:44px;box-sizing:border-box;background:var(--hm-bg);border-radius:var(--hm-radius);box-shadow:var(--hm-shadow);backdrop-filter:blur(14px);z-index:10}.hm-search-icon{color:var(--hm-muted);display:flex}.hm-search input{flex:1;border:0;outline:none;background:none;font:inherit;color:inherit;min-width:0;height:100%}.hm-results{display:none;position:absolute;top:50px;left:0;right:0;background:var(--hm-bg);border-radius:var(--hm-radius);box-shadow:var(--hm-shadow);backdrop-filter:blur(14px);overflow:hidden}.hm-results div{padding:10px 14px;cursor:pointer}.hm-results div.on,.hm-results div:hover{background:var(--hm-line)}.hm-rail{position:fixed;top:calc(12px + env(safe-area-inset-top));right:12px;display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--hm-bg);border-radius:var(--hm-radius);box-shadow:var(--hm-shadow);backdrop-filter:blur(14px);z-index:10}.hm-rail button{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}.hm-rail button:hover{background:var(--hm-line)}.hm-sheet{position:fixed;top:calc(12px + env(safe-area-inset-top));right:68px;width:300px;max-height:calc(100vh - 24px);overflow:auto;background:var(--hm-bg);border-radius:var(--hm-radius);box-shadow:var(--hm-shadow);backdrop-filter:blur(16px);z-index:11;padding:12px 14px;box-sizing:border-box}.hm-sheet[hidden]{display:none}.hm-sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.hm-sheet-head button{width:32px;height:32px;border-radius:8px}.hm-group{border-top:1px solid var(--hm-line);padding:10px 0;display:flex;flex-direction:column;gap:8px}.hm-group label{display:flex;gap:10px;align-items:center;cursor:pointer}.hm-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--hm-accent)}.hm-row{display:flex;gap:8px;align-items:center}.hm-row span{width:80px;color:var(--hm-muted)}.hm-row input[type=range]{flex:1;accent-color:var(--hm-accent)}.hm-row input[type=url]{flex:1;min-width:0;padding:8px 10px;border-radius:9px;border:1px solid var(--hm-line);background:transparent;color:inherit;font:inherit;font-size:12px}.hm-row button,.hm-buttons button{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:9px;background:var(--hm-line);white-space:nowrap}.hm-buttons{flex-direction:row;flex-wrap:wrap}.hm-buttons button.hm-live{background:#e5484d;color:#fff}.hm-caption,.hm-status,.hm-stats{color:var(--hm-muted);font-size:12px}.hm-stats{padding-top:6px;font-variant-numeric:tabular-nums}.hm-toast{position:fixed;left:50%;bottom:calc(40px + env(safe-area-inset-bottom));transform:translate(-50%);max-width:calc(100vw - 32px);background:var(--hm-bg);color:var(--hm-fg);padding:10px 16px;border-radius:12px;box-shadow:var(--hm-shadow);backdrop-filter:blur(14px);z-index:20;text-align:center}.hm-toast[hidden]{display:none}.hm-rail button.hm-on{color:var(--hm-accent);background:color-mix(in srgb,var(--hm-accent) 14%,transparent)}.hm-source{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--hm-muted);padding:2px 0 10px}.hm-dot{width:9px;height:9px;border-radius:50%;background:#f5a524;box-shadow:0 0 0 3px color-mix(in srgb,#f5a524 22%,transparent);flex:none}.hm-dot[data-state=gev]{background:#22c55e;box-shadow:0 0 0 3px color-mix(in srgb,#22c55e 22%,transparent)}.hm-live-layers{gap:2px}.hm-live-row{display:grid!important;grid-template-columns:18px 12px 1fr auto;gap:10px!important;align-items:center;padding:6px 0}.hm-swatch{width:12px;height:12px;border-radius:4px;background:var(--c, #888);box-shadow:inset 0 0 0 1px #00000040;flex:none}.hm-live-count{font-variant-numeric:tabular-nums;color:var(--hm-muted);font-size:12px}.hm-live-count[data-state=error],.hm-live-note[data-state=error]{color:#e5484d}.hm-live-count[data-state=stale],.hm-live-note[data-state=stale]{color:#d99a16}.hm-live-note{font-size:11.5px;color:var(--hm-muted);margin:-4px 0 4px 40px;line-height:1.35}.hm-live-note[hidden]{display:none}.hm-gev summary{cursor:pointer;font-weight:600;list-style:none}.hm-gev summary::-webkit-details-marker{display:none}.hm-gev summary:after{content:" ▾";color:var(--hm-muted);font-weight:400}.hm-gev[open] summary:after{content:" ▴"}.hm-card{position:fixed;left:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:min(320px,calc(100vw - 24px));box-sizing:border-box;background:var(--hm-bg);border-radius:var(--hm-radius);box-shadow:var(--hm-shadow);backdrop-filter:blur(16px);z-index:12;padding:12px 14px}.hm-card[hidden]{display:none}.hm-card-head{display:flex;gap:10px;align-items:flex-start}.hm-card-head .hm-swatch{margin-top:4px}.hm-card-titles{flex:1;min-width:0}.hm-card-title{font-weight:650;font-size:15px;overflow-wrap:anywhere}.hm-card-sub{color:var(--hm-muted);font-size:12px}.hm-card-head button{width:28px;height:28px;border-radius:8px;flex:none}.hm-card-rows{display:grid;gap:3px;margin:10px 0 8px;font-size:13px}.hm-card-rows div{display:flex;justify-content:space-between;gap:12px}.hm-card-rows span:first-child{color:var(--hm-muted)}.hm-card-rows span:last-child{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.hm-card-src{color:var(--hm-muted);font-size:11.5px;margin-bottom:8px}.hm-card .hm-buttons{display:flex;gap:6px;flex-wrap:wrap}.hm-card .hm-buttons a{display:inline-flex;align-items:center;padding:8px 11px;border-radius:9px;background:var(--hm-line);color:inherit;text-decoration:none}.hm-card .hm-buttons [hidden]{display:none}.hm-dir-sheet{width:340px}.hm-modes{display:flex;gap:4px;padding:2px 0 10px}.hm-modes button{flex:1;padding:7px 0;border-radius:9px;background:var(--hm-line);font-weight:600;font-size:13px}.hm-modes button.on{background:var(--hm-accent);color:#fff}.hm-place{position:relative;display:flex;align-items:center;gap:6px;margin-bottom:6px}.hm-place-dot{flex:none;width:22px;height:22px;border-radius:50%;background:var(--c);color:#fff;font:700 11px system-ui;display:grid;place-items:center}.hm-place input{flex:1;min-width:0;padding:8px 10px;border-radius:9px;border:1px solid var(--hm-line);background:transparent;color:inherit;font:inherit;font-size:13px}.hm-place button{flex:none;width:32px;height:32px;border-radius:9px;background:var(--hm-line);font-size:15px}.hm-place button.on{background:var(--hm-accent);color:#fff}.hm-place .hm-results{top:38px;z-index:2;font-size:13px}.hm-dir-summary{padding:8px 0 4px;font-size:14px;border-top:1px solid var(--hm-line);margin-top:6px}.hm-steps{list-style:none;margin:4px 0;padding:0;display:flex;flex-direction:column}.hm-steps li{display:flex;gap:10px;padding:8px 6px;border-radius:10px;cursor:pointer;align-items:flex-start}.hm-steps li:hover{background:var(--hm-line)}.hm-steps li.on{background:color-mix(in srgb,var(--hm-accent) 16%,transparent)}.hm-step-icon{flex:none;color:var(--hm-accent);display:flex;padding-top:1px}.hm-step-body{display:flex;flex-direction:column;gap:3px;min-width:0}.hm-step-text{font-size:13px;line-height:1.35;overflow-wrap:anywhere}.hm-step-dist{font-size:11.5px;color:var(--hm-muted);font-variant-numeric:tabular-nums}.hm-step-dist:empty{display:none}.hm-lanes{display:inline-flex;gap:0;padding:3px 4px;border-radius:8px;background:#1b2433;width:max-content}.hm-lane{display:flex;color:#ffffff47;padding:0 3px}.hm-lane+.hm-lane{border-left:1.5px dashed rgba(255,255,255,.35)}.hm-lane.on{color:#fff}.hm-dir-actions{padding-top:6px}.hm-turn{position:fixed;top:calc(12px + env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(460px,calc(100vw - 500px));min-width:300px;box-sizing:border-box;z-index:12;display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:16px;background:#13324f;color:#fff;box-shadow:var(--hm-shadow)}.hm-turn[hidden]{display:none}.hm-turn-icon{flex:none;display:flex}.hm-turn-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.hm-turn-dist{font-size:12px;opacity:.8;font-variant-numeric:tabular-nums}.hm-turn-instr{font-weight:650;font-size:15px;line-height:1.3;overflow-wrap:anywhere}.hm-turn-lanes .hm-lanes{background:#00000047;margin-top:3px}.hm-turn-nav{display:grid;grid-template-columns:1fr 1fr;gap:4px;flex:none}.hm-turn-nav button{width:34px;height:34px;border-radius:9px;background:#ffffff24;color:#fff;font-size:18px;line-height:1}@media(max-width:640px){.hm-sheet{inset:auto 0 0;width:auto;max-height:70vh;border-radius:18px 18px 0 0;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.hm-card{left:8px;right:8px;width:auto;bottom:calc(8px + env(safe-area-inset-bottom))}.hm-turn{top:auto;bottom:calc(8px + env(safe-area-inset-bottom));left:8px;right:8px;width:auto;min-width:0;transform:none}}@media(min-width:641px)and (max-width:960px){.hm-turn{top:auto;bottom:16px;width:min(460px,calc(100vw - 32px))}}
