:root{--bg: #0b1220;--border: rgba(148, 163, 184, .18);--text: #e2e8f0;--muted: #94a3b8;--accent: #38bdf8;--panel-bg: rgba(251, 248, 241, .97);--panel-text: #26303d;--panel-muted: #5b6472;--panel-border: rgba(91, 100, 114, .28);--panel-accent: #0284c7}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg);font-family:Inter,system-ui,sans-serif;color:var(--text);overflow:hidden}#map{position:absolute;inset:0;background:var(--bg)}#brandRow{position:absolute;top:12px;left:12px;z-index:900;display:flex;align-items:center;gap:10px}#vmLogoLink{flex:none;line-height:0}#vmLogo{width:48px;height:48px;display:block}#titleCard{background:var(--panel-bg);border:1px solid var(--panel-border);color:var(--panel-text);border-radius:10px;padding:10px 14px;max-width:320px;backdrop-filter:blur(6px)}#tcName{font-weight:700;font-size:15px;letter-spacing:.02em}#tcSub{font-size:12.5px;color:var(--panel-muted);margin-top:2px}#tcHome{display:inline-block;margin-top:6px;font-size:11.5px;color:var(--panel-accent);text-decoration:none;font-family:DM Mono,monospace}#tcHome:hover{text-decoration:underline}#searchWrap{position:relative;margin-top:8px}#distSearch{width:100%;font-family:DM Mono,monospace;font-size:12px;background:#5b647212;color:var(--panel-text);border:1px solid var(--panel-border);border-radius:6px;padding:5px 9px;outline:none}#distSearch::placeholder{color:var(--panel-muted)}#distSearch:focus{border-color:var(--panel-accent)}#searchResults{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:1001;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:8px;max-height:244px;overflow-y:auto;display:none;box-shadow:0 6px 18px #26303d2e}#searchResults.open{display:block}.sr-item{padding:6px 10px;cursor:pointer;font-size:12.5px}.sr-item .sr-state{font-size:10.5px;color:var(--panel-muted);font-family:DM Mono,monospace}.sr-item:hover,.sr-item.active{background:#0284c714}.sr-empty{padding:8px 10px;font-size:11.5px;color:var(--panel-muted);font-family:DM Mono,monospace}#ctlBar{position:absolute;left:0;right:0;bottom:0;z-index:900;background:var(--panel-bg);border-top:1px solid var(--panel-border);color:var(--panel-text);backdrop-filter:blur(10px);padding:8px 0 10px 12px;transition:padding-right .28s cubic-bezier(.4,0,.2,1)}#ctlBar.panel-open{padding-right:460px}#mapVarBtns{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.mv-btn{font-family:DM Mono,monospace;font-size:11px;background:#5b647212;color:var(--panel-muted);border:1px solid var(--panel-border);border-radius:6px;padding:4px 10px;cursor:pointer}.mv-btn.active{color:var(--panel-accent);border-color:var(--panel-accent);background:#0284c714}.mv-btn:disabled{opacity:.35;cursor:default}.mv-btn:disabled:hover{background:#5b647212}#legend{margin-bottom:8px;display:flex;align-items:center;gap:8px}.leg-title{font-family:DM Mono,monospace;font-size:10.5px;color:var(--panel-muted);white-space:nowrap;flex:0 0 auto}.leg-bar{flex:1;display:flex;border-radius:5px;overflow:hidden;border:1px solid var(--panel-border)}.leg-seg{flex:1;text-align:center;padding:4px 2px;font-family:DM Mono,monospace;font-size:9.5px;font-weight:500;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.35);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#tlOuter{display:flex;align-items:stretch;gap:8px;height:30px}#tlTrack{flex:1;overflow:hidden}#dayCells{display:flex;width:100%;height:100%;gap:3px}.day-cell{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;font-family:DM Mono,monospace;font-size:9.5px;line-height:1.25;color:var(--panel-muted);background:#5b647212;border:1px solid var(--panel-border);border-radius:5px;white-space:pre-line}.day-cell:hover{color:var(--panel-text)}.day-cell.active{color:#fff;background:var(--panel-accent);border-color:var(--panel-accent)}#tlNavBox{display:flex;align-items:center;gap:6px;flex:0 0 auto}#curDay{font-family:DM Mono,monospace;font-size:10px;color:var(--panel-text);white-space:nowrap;min-width:92px;text-align:center;background:#0284c712;border:1px solid rgba(2,132,199,.2);border-radius:5px;padding:0 6px;height:100%;display:flex;align-items:center;justify-content:center}#tlNavBox button{font-family:DM Mono,monospace;font-size:13px;line-height:1;background:#5b647212;color:var(--panel-accent);border:1px solid var(--panel-border);border-radius:6px;width:24px;height:100%;cursor:pointer;flex:none}#tlNavBox button:disabled{color:var(--panel-muted);cursor:default;opacity:.5}#loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:950;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:10px;padding:12px 20px;font-size:12px;color:var(--panel-muted);font-family:DM Mono,monospace}#panel{position:absolute;top:0;right:0;bottom:0;z-index:1000;width:460px;max-width:100%;background:var(--panel-bg);border-left:1px solid var(--panel-border);color:var(--panel-text);backdrop-filter:blur(10px);transform:translate(102%);transition:transform .28s ease;display:flex;flex-direction:column}#panel.open{transform:translate(0)}#pHeader{display:flex;justify-content:space-between;align-items:flex-start;padding:14px 16px 10px;border-bottom:1px solid var(--panel-border)}#pName{font-weight:700;font-size:18px}#pState{font-size:12.5px;color:var(--panel-muted);margin-top:2px}#pClose{background:none;border:1px solid var(--panel-border);color:var(--panel-muted);border-radius:6px;width:26px;height:26px;cursor:pointer;font-size:12px}#pClose:hover{color:var(--panel-text);border-color:var(--panel-muted)}#pBody{flex:1;overflow-y:auto;padding:12px 16px 24px}#pBody::-webkit-scrollbar{width:8px}#pBody::-webkit-scrollbar-thumb{background:#5b64724d;border-radius:4px}.sec{margin-bottom:20px}.sec h3{font-size:13.5px;font-weight:600;color:var(--panel-text);margin-bottom:2px}.sec .note{font-size:11.5px;color:var(--panel-muted);line-height:1.5;margin-bottom:8px}.hz-card{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--panel-border);border-radius:8px;padding:9px 11px;margin-bottom:7px;background:#5b64720a}.hz-dot{flex:0 0 10px;width:10px;height:10px;border-radius:50%;margin-top:4px}.hz-icon{flex:0 0 auto;font-size:15px;line-height:1.3}.hz-body{flex:1;min-width:0}.hz-title{font-size:12.5px;font-weight:600;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.hz-tier{font-family:DM Mono,monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.5px;padding:1px 6px;border-radius:4px;color:#fff}.hz-label{font-size:11.5px;color:var(--panel-muted);margin-top:2px;line-height:1.4}.hz-vals{font-family:DM Mono,monospace;font-size:10.5px;color:var(--panel-text);margin-top:3px}.hz-vals b{color:var(--panel-accent);font-weight:500}.tl-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.tl-name{font-size:10.5px;color:var(--panel-muted);flex:0 0 60px}.tl-chips{display:flex;gap:3px;flex:1}.tl-chip{flex:1;height:16px;border-radius:3px;cursor:pointer;border:1px solid rgba(15,23,42,.12)}.tl-chip.cur{outline:2px solid var(--panel-accent);outline-offset:1px}.tl-axis{display:flex;gap:3px;margin-left:68px;margin-top:-2px}.tl-axis span{flex:1;text-align:center;font-family:DM Mono,monospace;font-size:8.5px;color:var(--panel-muted)}.stat-line{font-family:DM Mono,monospace;font-size:11.5px;color:var(--panel-muted);margin-top:6px}.stat-line b{color:var(--panel-accent);font-weight:500}.data-src{font-family:DM Mono,monospace;font-size:10px;color:#5b6472bf;margin-top:8px;padding-top:6px;border-top:1px dashed var(--panel-border);line-height:1.4}.brand-footer{margin-top:10px;padding-top:16px;border-top:1px solid var(--panel-border);text-align:center}.brand-footer img{width:44px;height:44px;display:inline-block}.brand-footer .bf-copy{font-family:DM Mono,monospace;font-size:11px;color:var(--panel-muted);margin-top:6px}.brand-footer .bf-mail{font-family:DM Mono,monospace;font-size:10.5px;color:var(--panel-accent);margin-top:2px}.brand-footer .bf-mail a{color:var(--panel-accent);text-decoration:none}.brand-footer .bf-mail a:hover{text-decoration:underline}.leaflet-container{background:var(--bg);font-family:Inter,sans-serif}.vm-tip{background:var(--panel-bg)!important;border:1px solid var(--panel-border)!important;color:var(--panel-text)!important;border-radius:8px!important;box-shadow:0 4px 14px #26303d40!important}.vm-tip:before{display:none}.leaflet-popup-content-wrapper{background:var(--panel-bg);color:var(--panel-text);border:1px solid var(--panel-border);border-radius:10px}.leaflet-popup-tip{background:var(--panel-bg)}.pop-btn{display:inline-block;margin-top:6px;padding:4px 10px;font-family:DM Mono,monospace;font-size:10px;color:var(--panel-accent);border:1px solid var(--panel-accent);border-radius:6px;background:#0284c714;cursor:pointer}.leaflet-top.leaflet-left{top:var(--zoom-top, 74px)}.leaflet-control-zoom{border:1px solid var(--panel-border)!important;box-shadow:none!important}.leaflet-control-zoom a{background:var(--panel-bg)!important;color:var(--panel-text)!important;border-bottom:1px solid var(--panel-border)!important}.leaflet-control-zoom a:hover{background:#0284c714!important}.hz-emoji-wrap{pointer-events:none}.hz-emoji-group{display:flex;align-items:center;gap:1px}.hz-emoji{display:block;text-align:center;width:20px;font-size:17px;line-height:1;text-shadow:-1px -1px 1.5px #fff,1px -1px 1.5px #fff,-1px 1px 1.5px #fff,1px 1px 1.5px #fff,0 2px 4px rgba(0,0,0,.55)}.hz-emoji-extreme{animation:hzPulse 1.1s ease-in-out infinite}@keyframes hzPulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}#map.hide-hz-emoji .hz-emoji-wrap{display:none}@media(max-width:640px){#panel{width:100%;border-left:none}#titleCard{max-width:190px;padding:8px 10px}#tcName{font-size:12.5px}#tcSub{font-size:10.5px}#brandRow{top:10px;left:10px;gap:8px}#vmLogo{width:34px;height:34px}#ctlBar{padding:6px 8px 8px}#ctlBar.panel-open{padding-right:8px}#mapVarBtns{flex-wrap:wrap;gap:5px;margin-bottom:6px}.mv-btn{font-size:10px;padding:4px 8px}.leg-title{display:none}#legend{margin-bottom:6px}.leg-seg{font-size:8.5px;padding:4px 1px}#tlOuter{gap:5px}#dayCells{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}#dayCells::-webkit-scrollbar{display:none}.day-cell{flex:0 0 42px;font-size:9px}#curDay{display:none}#tlNavBox{gap:4px}#tlNavBox button{width:22px;font-size:12px}.tl-name{flex-basis:46px;font-size:9.5px}.tl-axis{margin-left:54px}}@media(max-width:360px){#titleCard{max-width:165px}.day-cell{flex-basis:38px}}
