:root{--amber:#e9b25f}:root[data-theme=light]{--amber:#b46a12}.view-switch{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);flex:none;order:-2;gap:2px;padding:2px;display:flex}.view-switch button{min-height:30px;color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:2px;align-items:center;gap:6px;padding:0 10px;font:500 12.5px Inter,system-ui,sans-serif;display:inline-flex}.view-switch svg{opacity:.75;flex:none;width:15px;height:15px}.view-switch button:hover{color:var(--text);background:var(--surface-2)}.view-switch button[aria-pressed=true]{background:var(--surface-2);color:var(--text);box-shadow:inset 0 -2px 0 var(--text)}.view-switch button[aria-pressed=true] svg{opacity:1}.view-switch button[data-view=routes][aria-pressed=true]{box-shadow:inset 0 -2px 0 var(--amber)}.view-switch button[data-view=routes][aria-pressed=true] svg{color:var(--amber)}.view-switch button:focus-visible{outline:2px solid var(--text);outline-offset:-2px}.routes-fields,.routes-active{display:none}:root[data-home-view=routes] .routes-fields,:root[data-home-view=routes] .routes-active:not([hidden]){display:flex}:root[data-home-view=routes] .map-bar :is(.range-switch,#add-filter,#map-active,#fig-popover,#custom-period),:root[data-home-view=routes] .map-bar .map-bar-row{display:none}@media (width<=860px){:root[data-home-view=routes] .map-bar .map-bar-fields{order:-1;width:100%;display:flex}:root[data-home-view=routes] .map-bar .map-search-box{flex:auto}}.routes-pane{display:none}:root[data-home-view=routes] .routes-pane{display:block}:root[data-home-view=routes] .home-pane .browser,:root[data-home-view=routes] .home-pane .pane-foot,:root[data-home-view=routes] .home-map .map-layers,:root[data-home-view=routes] .home-map .map-timeline,.routes-timeline{display:none}:root[data-home-view=routes] .routes-timeline{display:block}.routes-dots{pointer-events:none;position:absolute;top:0;left:0}.routes-fields{flex-wrap:nowrap;flex:none;gap:8px}.icon-switch{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);gap:2px;padding:2px;display:flex}.icon-switch button{width:32px;min-height:30px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:2px;place-items:center;padding:0;display:grid}.icon-switch button svg{width:17px;height:17px}.icon-switch button:hover{color:var(--text);background:var(--surface-2)}.icon-switch button[aria-pressed=true]{color:var(--amber);background:var(--surface-2);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--amber) 45%, transparent)}.icon-switch button:focus-visible{outline:2px solid var(--text);outline-offset:-2px}.routes-clear{color:var(--text-2);font:11.5px var(--mono);text-underline-offset:3px;white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:none;padding:3px 6px;text-decoration:underline}.routes-clear:hover{color:var(--text)}.routes-clear[hidden]{display:none}.routes-timeline{--from:0;--to:1;z-index:3;background:color-mix(in srgb, var(--surface) 90%, transparent);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--r);max-width:940px;box-shadow:var(--shadow);margin:0 auto;padding:8px 12px;font:12px Inter,system-ui,sans-serif;position:absolute;bottom:30px;left:10px;right:10px}.rt-legend{margin:0 0 2px}.rt-legend .type{color:var(--text-2);font:10.5px var(--mono);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;display:inline-flex}.routes-timeline.types-on .rt-legend .type[aria-pressed=false]{opacity:.45}.rt-key{color:var(--muted);font:10.5px var(--mono);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;align-items:center;gap:6px;padding:4px 7px;display:inline-flex}.rt-key:first-of-type{margin-left:auto}.rt-cols{grid-template-columns:repeat(var(--n), minmax(0, 1fr));touch-action:pan-y;-webkit-user-select:none;user-select:none;align-items:end;gap:2px;height:44px;margin-top:8px;display:grid}.rt-col{cursor:pointer;background:0 0;border:0;align-items:flex-end;height:100%;padding:0;display:flex}.rt-col[aria-pressed=true],.rt-col:hover,.rt-col:focus-visible{outline:1px solid var(--text);outline-offset:1px}.rt-col.in-drag{background:color-mix(in srgb, var(--text) 16%, transparent);outline:1px solid var(--text-2)}.rt-stack{flex-direction:column-reverse;width:100%;transition:opacity .15s;display:flex;overflow:hidden}.rt-stack i{min-height:1px;display:block;box-shadow:inset 0 0 0 .4px #0000004d}.rt-col.out .rt-stack{opacity:.22}.rt-axis{grid-template-columns:repeat(var(--n), minmax(0, 1fr));font:11px var(--mono);color:var(--muted);gap:2px;margin-top:6px;display:grid}.rt-axis span{text-align:center;white-space:nowrap;position:relative;overflow:visible}.rt-axis span:last-child{justify-content:flex-end;display:flex}.rt-axis span:last-child:not(:empty):before{left:auto;right:calc(50% - 1px)}.rt-axis span:not(:empty):before{content:"";border-left:1px solid var(--muted);height:3px;position:absolute;top:-5px;left:50%}.key-node{border-radius:50%;width:9px;height:9px}.key-node.send{background:#e9a04a}.key-node.receive{background:#6fa8e8}:root[data-theme=light] .key-node.send{background:#c7721a}:root[data-theme=light] .key-node.receive{background:#2f65a3}.key-dot{background:var(--c);border-radius:50%;width:7px;height:7px}@media (width<=860px){.view-switch button{padding:0 9px}.routes-fields{flex-wrap:nowrap;justify-content:flex-start;gap:6px;width:100%}.routes-active{justify-content:flex-start}.routes-timeline{padding:6px 8px;bottom:26px;left:8px;right:8px}.rt-legend{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.rt-legend .type,.rt-key{flex:none}.rt-cols{height:34px}.rt-axis{font-size:10px}.rt-axis span:nth-child(4n+1){visibility:hidden}}.rv-head{border-bottom:1px solid var(--border);padding:14px 0 12px}.rv-lead{color:var(--text-2);margin:0;font-size:13px;line-height:1.5}.rv-tiles{background:var(--border);border:1px solid var(--border);border-radius:var(--r);grid-template-columns:repeat(4,1fr);gap:1px;margin:12px 0 0;display:grid;overflow:hidden}.rv-tiles div{background:var(--surface);min-width:0;padding:7px 9px}.rv-tiles dt{font:9.5px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.rv-tiles dd{font:21px/1.15 var(--display);white-space:nowrap;text-overflow:ellipsis;margin:1px 0 0;overflow:hidden}.routes-tip .maplibregl-popup-content{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);gap:2px;padding:9px 11px;font:12.5px/1.4 Inter,system-ui,sans-serif;display:grid}.routes-tip .maplibregl-popup-tip{display:none}.routes-tip .fl,.routes-panel .fl{margin-right:4px}.routes-panel{padding:14px 0 6px;font-size:13.5px}.routes-panel h2{margin:2px 0 8px;font-size:24px;line-height:1.15}.routes-panel h2 .rp-kicker{font-family:var(--mono);letter-spacing:.06em;margin-top:2px;display:block}.routes-panel h3{font:10.5px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:18px 0 6px}.routes-panel .arrow{color:var(--amber)}.rp-kicker{font:11px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--amber);margin:0}.rp-hint{color:var(--muted);margin:12px 0 0;font-size:12.5px}.rp-list,.rp-reports,.rp-counts{margin:0;padding:0;list-style:none}.rp-row{border-radius:var(--r);width:calc(100% + 12px);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) 56px auto;align-items:center;gap:10px;margin:0 -6px;padding:5px 6px;display:grid}.rp-row:hover,.rp-row:focus-visible{background:var(--surface-2)}.rp-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rp-bar{background:var(--surface-2);border-radius:3px;height:5px;overflow:hidden}.rp-bar i{background:var(--amber);border-radius:3px;height:100%;display:block}.rp-num{font:12px var(--mono);color:var(--text-2);text-align:right;min-width:3ch}.rp-back,.rp-link{color:var(--cite);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.rp-back{margin-bottom:10px;font-size:12.5px}.rp-back:hover,.rp-link:hover{text-decoration:underline}.rp-facts{background:var(--border);border:1px solid var(--border);border-radius:var(--r);grid-template-columns:repeat(3,1fr);gap:1px;margin:10px 0 14px;display:grid;overflow:hidden}.rp-facts div{background:var(--surface);padding:8px 10px}.rp-facts dt{font:10px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.rp-facts dd{font:22px/1.1 var(--display);margin:2px 0 0}.rp-years{align-items:flex-end;gap:1px;height:38px;display:flex}.rp-years i{background:var(--border);border-radius:1px 1px 0 0;flex:1}.rp-years i.in{background:var(--amber)}.rp-years-axis{font:10px var(--mono);color:var(--muted);justify-content:space-between;margin-top:3px;display:flex}.rp-counts li{border-bottom:1px dashed var(--border);color:var(--text-2);justify-content:space-between;gap:10px;padding:3px 0;display:flex}.rp-counts a{color:var(--text-2)}.rp-counts b{font:12px var(--mono);color:var(--text)}.rp-crossings{color:var(--text-2);margin:0}.rp-reports li{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;gap:8px;padding:7px 0;display:grid}.rp-reports a{color:var(--text);line-height:1.35;text-decoration:none}.rp-reports a:hover{text-decoration:underline}.rp-reports time{font:11px var(--mono);color:var(--muted);margin-bottom:2px;display:block}.rp-kg{font:11.5px var(--mono);color:var(--amber);white-space:nowrap;padding-top:16px}.rp-more{color:var(--cite);margin-top:10px;display:inline-block}.rp-also{color:var(--text-2);margin:12px 0 0;font-size:12.5px}.routes-note{border-top:1px solid var(--border);margin:16px 0 0;padding-top:12px;font-size:12px}.home-pane.reading .browser,.home-pane.reading .pane-foot,:root[data-home-view=routes] .report-pane{display:none}.rpane-bar{z-index:2;background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin:0 -20px;padding:12px 20px;display:flex;position:sticky;top:0}.rpane-back{color:var(--cite);cursor:pointer;background:0 0;border:0;padding:0;font:13px Inter,system-ui,sans-serif}.rpane-back:hover{text-decoration:underline}.rpane-full{color:var(--text-2);font:12px var(--mono);align-items:center;gap:6px;display:inline-flex}.rpane-full:hover{color:var(--text)}.rpane-full svg{width:13px;height:13px}.rpane-body{padding:16px 0 24px}.rpane-loading{padding:24px 0}.rpane-body .report-head .meta{flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12px;display:flex}.rpane-body .rpane-title{font:400 28px/1.15 var(--display);letter-spacing:-.01em;margin:10px 0 8px}.rpane-body .lead{font-size:15px}.rpane-body h3{font:400 21px/1.2 var(--display);margin:26px 0 10px}.rpane-body .prose{font-size:15px;line-height:1.65}.rpane-body .cover img{border-radius:var(--r);width:100%;height:auto}.rpane-body .glance{margin:16px 0}.rpane-body .sources{grid-template-columns:1fr;font-size:13px}.home-pane .report-item{cursor:pointer}.icon-switch button{position:relative}.icon-switch button[data-tip]:after{content:attr(data-tip);z-index:10;background:var(--surface-2);width:max-content;max-width:220px;color:var(--text);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);text-align:center;white-space:normal;pointer-events:none;opacity:0;visibility:hidden;padding:6px 9px;font:12px/1.4 Inter,system-ui,sans-serif;transition:opacity .12s,visibility 0s .12s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.icon-switch button[data-tip]:hover:after,.icon-switch button[data-tip]:focus-visible:after{opacity:1;visibility:visible;transition-delay:.35s,.35s}
