@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font:"JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace;font:13px/1.5 var(--font);font-feature-settings:"zero" 1, "calt" 0, "liga" 0}:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090b0e;--surface:#0f1318;--surface-2:#171c23;--line:#2a323c;--text:#dfe5ec;--muted:#8592a0;--accent:#3ddc97;--accent-soft:#3ddc971f;--danger:#ff6b6b;--track:#ff9d3c;--cat-vehicle:#4cc2ff;--cat-air:#f07bff;--cat-water:#2fd6c3;--cat-digi:#b6e84a;--cat-igate:#ff8f5a;--cat-voice:#b28dff;--cat-weather:#ffc247;--cat-home:#c9a27e;--cat-other:#8c98a6}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f1f2ee;--surface:#fbfbf8;--surface-2:#eaece5;--line:#cfd3c9;--text:#171c21;--muted:#56616a;--accent:#0a7a52;--accent-soft:#0a7a521a;--danger:#c62828;--track:#d4570b;--cat-vehicle:#0a7cc4;--cat-air:#b52bc9;--cat-water:#0b8f80;--cat-digi:#5f8a00;--cat-igate:#c8501a;--cat-voice:#6a3fd0;--cat-weather:#b87700;--cat-home:#8a6239;--cat-other:#66717c}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}ul{margin:0;padding:0;list-style:none}button,input,select{font:inherit;font-feature-settings:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:var(--accent)}:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.dot{border-radius:50%;flex:none;width:8px;height:8px;margin-right:8px;display:inline-block}.muted{color:var(--muted);padding:6px 12px}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:4;align-items:center;gap:16px;min-height:48px;padding:0 12px;display:flex;position:relative}.brand{color:var(--text);letter-spacing:-.02em;font-size:16px;font-weight:700;text-decoration:none}.brand span{color:var(--accent)}.nav{align-self:stretch;display:flex}.nav a{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;border-bottom:2px solid #0000;align-items:center;padding:0 10px;font-size:11px;text-decoration:none;display:flex}.nav a:hover{color:var(--text)}.nav a[aria-current]{color:var(--text);border-bottom-color:var(--accent)}.menu-host{display:contents}.site-menu{margin-left:auto;position:relative}.stats+.menu-host .site-menu{margin-left:0}.menu-btn{letter-spacing:.1em;text-transform:uppercase;height:28px;color:var(--surface);background:var(--accent);border:1px solid var(--accent);border-radius:2px;align-items:center;gap:8px;padding:0 10px;font-size:11px;font-weight:600;display:flex}.menu-btn:hover{filter:brightness(1.12)}.menu-btn[aria-expanded=true]{color:var(--accent);background:var(--accent-soft)}.menu-chevron{border:1px solid;border-width:0 1px 1px 0;width:6px;height:6px;margin-top:-3px;transition:transform .18s,margin .18s;transform:rotate(45deg)}[data-open] .menu-chevron{margin-top:3px;transform:rotate(-135deg)}.menu-panel{z-index:6;background:var(--surface);border:1px solid var(--line);visibility:hidden;opacity:0;transform-origin:100% 0;flex-direction:column;min-width:190px;padding:4px;transition:opacity .12s,transform .12s,visibility 0s linear .12s;display:flex;position:absolute;top:calc(100% + 6px);right:0;transform:translateY(-4px);box-shadow:0 10px 28px #00000047}[data-open]>.menu-panel{visibility:visible;opacity:1;transition:opacity .14s,transform .14s,visibility;transform:none}.menu-item{text-align:left;width:100%;min-height:34px;color:var(--text);opacity:0;justify-content:space-between;align-items:center;padding:0 10px;font-size:12px;text-decoration:none;transition:opacity 80ms,transform 80ms,background-color .1s;display:flex;transform:translateY(-6px)}[data-open] .menu-item{opacity:1;transition:opacity .22s ease calc(40ms + var(--i) * 45ms), transform .22s cubic-bezier(.2, .7, .2, 1) calc(40ms + var(--i) * 45ms), background-color .1s ease;transform:none}.menu-item:hover{background:var(--accent-soft);color:var(--accent)}.menu-item[aria-current]{color:var(--accent)}.menu-theme{border-top:1px solid var(--line);margin-top:4px}.menu-theme:after{content:attr(data-dark);color:var(--muted);font-size:11px}[data-theme=light] .menu-theme:after{content:attr(data-light)}.menu-langs{border-top:1px solid var(--line);margin-top:4px;display:flex}.menu-lang{min-width:0;color:var(--muted);justify-content:center;padding:0;font-size:11px}.menu-lang[aria-checked=true]{color:var(--accent)}@media (prefers-reduced-motion:reduce){.menu-panel,[data-open]>.menu-panel,.menu-item,[data-open] .menu-item,.menu-chevron{transition:none}}.app{flex-direction:column;display:flex;position:fixed;inset:0}.stage{flex:1;min-height:0;position:relative}.stage .map{position:absolute;inset:0}.search{flex:0 280px;min-width:0;position:relative}.search input{background:var(--surface-2);border:1px solid var(--line);border-radius:2px;outline:none;width:100%;height:28px;padding:0 28px 0 8px}.search input:focus{border-color:var(--accent)}.search kbd{font:inherit;color:var(--muted);font-size:11px;position:absolute;top:5px;right:8px}.search ul{background:var(--surface);border:1px solid var(--line);position:absolute;top:32px;left:0;right:0}.search li button{text-align:left;align-items:center;width:100%;padding:6px 8px;display:flex}.search li button:hover{background:var(--accent-soft)}.search small{color:var(--muted);margin-left:auto;font-size:11px}.stats{color:var(--muted);white-space:nowrap;gap:16px;margin-left:auto;font-size:12px;display:flex}.stats b{color:var(--text);font-weight:600}.status{text-transform:uppercase;letter-spacing:.1em;color:var(--danger);font-size:11px}.status:before{content:"";background:currentColor;width:8px;height:8px;margin-right:6px;display:inline-block}.status.on{color:var(--accent);align-items:center;display:inline-flex}.status.on:before{display:none}.live-trace{align-items:flex-end;gap:1px;height:10px;margin-right:7px;display:flex}.live-trace i{background:currentColor;width:2px;display:block}.panel,.feed,.legend{background:var(--surface);border:1px solid var(--line);position:absolute}.panel{z-index:2;border-width:0 1px 0 0;width:400px;max-width:100%;top:0;bottom:0;left:0;overflow-y:auto}.ph{z-index:1;background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.station-icon{background:var(--surface-2);border:1px solid var(--line);border-radius:2px;flex:none;place-items:center;width:48px;height:48px;display:grid}.station-icon i{display:block}.ph-title{flex:1;min-width:0}.ph-title h2{letter-spacing:-.01em;overflow-wrap:anywhere;margin:0;font-size:22px;font-weight:700;line-height:1.15}.ph-title p{color:var(--muted);margin:3px 0 0;font-size:12px}.ph-title p span{letter-spacing:.06em;border:1px solid var(--line);border-radius:2px;margin-left:8px;padding:0 4px;font-size:10px}.ph-close{color:var(--muted);align-self:start;font-size:20px;line-height:1}.ph-close:hover{color:var(--text)}.ph-status{color:var(--muted);align-items:center;gap:10px;padding:12px 16px 0;font-size:12px;display:flex}.ph-status time{color:var(--text);font-weight:500}.pill{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;font-size:10px;display:inline-flex}.pill:before{content:"";background:currentColor;width:7px;height:7px}.pill.on{color:var(--accent)}.actions{flex-wrap:wrap;gap:6px;padding:10px 16px 14px;display:flex}.act{height:26px;color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:2px;align-items:center;padding:0 10px;font-size:11px;text-decoration:none;display:inline-flex}.act:hover{border-color:var(--accent);color:var(--accent)}.comment{overflow-wrap:anywhere;background:var(--surface-2);border-left:2px solid var(--accent);margin:0 16px 14px;padding:8px 12px;font-size:12.5px}.ps{border-top:1px solid var(--line);padding:12px 16px 14px}.ps>header{justify-content:space-between;align-items:center;min-height:20px;margin-bottom:10px;display:flex}.ps h3{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0;font-size:11px;font-weight:500}.ps-aside{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}a.ps-aside{color:var(--accent);text-decoration:none}.ps-empty{color:var(--muted);padding:16px}.motion{align-items:center;gap:16px;display:flex}.compass{flex:none;width:68px;height:68px;font-family:inherit}.readouts{flex:1;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:10px;display:grid}.tiles{grid-template-columns:repeat(3,1fr);gap:1px;margin:1px;display:grid}.tiles .readout{outline:1px solid var(--line);padding:8px 10px}.readout{min-width:0}.readout span{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:10px;display:block}.readout strong{letter-spacing:-.02em;font-size:19px;font-weight:600;line-height:1.3;display:block}.readout small{letter-spacing:0;color:var(--muted);margin-left:3px;font-size:11px;font-weight:400}.readout em{color:var(--muted);font-size:11px;font-style:normal;display:block}.rows{grid-template-columns:auto 1fr;gap:5px 16px;margin:0;font-size:12px;display:grid}.rows dt{color:var(--muted)}.rows dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:500}.route{flex-wrap:wrap;align-items:end;gap:6px 0;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.route li{flex-direction:column;min-width:0;display:flex}.route li+li{padding-left:22px;position:relative}.route li+li:before{content:"→";color:var(--muted);position:absolute;bottom:0;left:6px}.route span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:10px}.route b{font-weight:500}.route button{color:var(--accent);text-align:left;font-weight:500}.route button:hover{text-decoration:underline}.chart{border-bottom:1px solid var(--line);align-items:end;height:56px;display:flex}.chart .col{flex:1;align-items:end;height:100%;padding:0 1px;display:flex}.chart .col:hover{background:var(--accent-soft)}.chart .col i{background:var(--accent);border-radius:2px 2px 0 0;width:100%;display:block}.chart-axis{color:var(--muted);justify-content:space-between;margin-top:4px;font-size:10px;display:flex}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.packets li{border-top:1px solid var(--line);padding:7px 0}.packets li:first-child{border-top:0;padding-top:0}.packets header{color:var(--muted);justify-content:space-between;margin-bottom:2px;font-size:11px;display:flex}.packets header span{letter-spacing:.06em;font-size:10px}.packets code{font:inherit;overflow-wrap:anywhere;font-size:11.5px;line-height:1.5;display:block}.more{justify-content:center;width:100%;margin-top:10px}.skeleton{gap:10px;padding:16px;display:grid}.skeleton i{background:var(--surface-2);height:56px;animation:1.2s ease-in-out infinite alternate skeleton;display:block}@keyframes skeleton{to{opacity:.45}}@media (prefers-reduced-motion:reduce){.skeleton i{animation:none}}.legend{width:260px;max-height:calc(100vh - 150px);color:var(--muted);flex-direction:column;padding:6px 4px 6px 10px;font-size:11px;display:flex;top:calc(100% + 6px);left:0;overflow-y:auto}.legend header{letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;min-height:20px;padding-right:6px;font-size:10px;display:flex}.legend header button{letter-spacing:.04em;color:var(--accent);text-transform:none;font-size:10px}.type-row{align-items:center;display:flex}.type-toggle{text-align:left;min-height:22px;color:var(--text);flex:1;align-items:center;font-size:11px;display:flex}.type-toggle[aria-pressed=false]{color:var(--muted);opacity:.6;text-decoration:line-through}.type-icon{flex:none;margin-right:8px;display:block}.type-toggle[aria-pressed=false] .type-icon{filter:grayscale();opacity:.5}.type-only{color:var(--muted);opacity:0;padding:2px 6px;font-size:10px}.type-row:hover .type-only,.type-only:focus-visible{opacity:1}.type-only:hover{color:var(--accent)}.filter-dock{z-index:3;position:absolute;top:12px;left:12px}.app:has(.panel) .filter-dock{left:412px}.tool-bar{background:var(--surface);border:1px solid var(--line);display:flex;box-shadow:0 6px 18px #00000038}.tool-btn{height:44px;color:var(--text);white-space:nowrap;align-items:center;gap:8px;padding:0 14px;font-size:12.5px;font-weight:500;display:flex}.tool-btn+.tool-btn{border-left:1px solid var(--line)}.tool-btn b{color:var(--accent);font-weight:600}.tool-reset{color:var(--accent)}.tool-btn:hover,.tool-btn[aria-expanded=true]{background:var(--accent-soft)}.tool-btn.filtered{box-shadow:inset 0 -2px 0 var(--accent)}.opt{text-align:left;min-height:32px;color:var(--text);animation:.2s cubic-bezier(.2,.7,.2,1) both filter-in;animation-delay:calc(var(--i,0) * 22ms);flex-direction:column;justify-content:center;padding:4px 0;font-size:12px;display:flex}.opt[aria-pressed=true]{color:var(--accent);font-weight:600}.opt:hover{color:var(--accent)}.more-type:nth-child(1 of .more-type){border-top:1px solid var(--line);margin-top:3px;padding-top:3px}.type-row{animation:.2s cubic-bezier(.2,.7,.2,1) both filter-in;animation-delay:calc(var(--i,9) * 22ms)}@keyframes filter-in{0%{opacity:0;transform:translateY(-5px)}}@media (prefers-reduced-motion:reduce){.type-row,.opt{animation:none}}.feed{width:440px;max-width:calc(100% - 24px);bottom:36px;right:12px}.feed-toggle{text-transform:uppercase;letter-spacing:.1em;width:100%;color:var(--muted);justify-content:space-between;padding:6px 12px;font-size:11px;display:flex}.feed ul{border-top:1px solid var(--line);height:200px;overflow-y:auto}.feed li button{text-align:left;align-items:center;width:100%;padding:2px 12px;font-size:11.5px;display:flex}.feed li button:hover{background:var(--accent-soft)}.feed li b{flex:none;margin-right:10px;font-weight:600}.feed li span{white-space:nowrap;text-overflow:ellipsis;color:var(--muted);overflow:hidden}.statusbar{white-space:nowrap;background:var(--surface);border-top:1px solid var(--line);align-items:center;gap:20px;height:26px;padding:0 12px;font-size:11px;display:flex}.status-actions{align-items:center;gap:20px;margin-left:auto;display:flex}.segmented{align-items:center;gap:2px;display:flex}.segmented button{color:var(--muted);letter-spacing:.06em;border:1px solid #0000;padding:0 6px;font-size:10px}.segmented button:hover{color:var(--text)}.segmented button[aria-pressed=true]{color:var(--accent);border-color:var(--line)}.status-link{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:10px}.status-link:hover,.status-link[aria-expanded=true]{color:var(--accent)}.feedback{z-index:3;background:var(--surface-2);border:1px solid var(--accent);width:340px;max-width:calc(100% - 24px);padding:12px;position:absolute;bottom:12px;right:12px;box-shadow:0 10px 28px #00000047}.feedback header{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;display:flex}.feedback header button{color:var(--muted);font-size:18px;line-height:1}.feedback textarea,.feedback input{background:var(--surface);border:1px solid var(--line);width:100%;font:inherit;font-feature-settings:inherit;color:inherit;border-radius:2px;outline:none;padding:6px 8px;display:block}.feedback textarea{resize:vertical;height:96px;margin-bottom:6px}.feedback textarea:focus,.feedback input:focus{border-color:var(--accent)}.feedback .trap{width:1px;height:1px;position:absolute;left:-9999px}.feedback p{color:var(--muted);margin:8px 0;font-size:11px;line-height:1.5}.feedback .error{color:var(--danger)}.feedback .send{border:1px solid var(--accent);height:28px;color:var(--accent);letter-spacing:.1em;text-transform:uppercase;border-radius:2px;padding:0 12px;font-size:11px}.feedback .send:hover:not(:disabled){background:var(--accent-soft)}.feedback .send:disabled{opacity:.5;cursor:default}.statusbar .optional{flex:none}.statusbar em{color:var(--muted);letter-spacing:.1em;margin-right:6px;font-size:10px;font-style:normal}.statusbar b{font-weight:500}.maplibregl-ctrl-group{border-radius:2px!important}[data-theme=dark] .maplibregl-ctrl-group{background:var(--surface)}[data-theme=dark] .maplibregl-ctrl-group button+button{border-top-color:var(--line)}[data-theme=dark] .maplibregl-ctrl-icon{filter:invert()}[data-theme=dark] .maplibregl-ctrl-attrib.maplibregl-compact{background:var(--surface);color:var(--muted)}[data-theme=dark] .maplibregl-ctrl-attrib a{color:var(--text)}[data-theme=dark] .maplibregl-ctrl-attrib-button{filter:invert()}.doc .topbar{z-index:10;background:color-mix(in srgb, var(--surface) 68%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.5);backdrop-filter:blur(14px)saturate(1.5);position:sticky;top:0}.prose{max-width:96ch;margin:0 auto;padding:40px 20px 72px;line-height:1.7}.prose h1{letter-spacing:-.02em;margin:0;font-size:28px}.prose .lede{color:var(--muted);margin:8px 0 0}.prose h2{border-top:1px solid var(--line);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin:40px 0 10px;padding-top:12px;font-size:11px;font-weight:500}.prose p{margin:0 0 12px}.prose dl{grid-template-columns:14ch 1fr;gap:10px 16px;margin:0;display:grid}.prose dt{color:var(--muted)}.prose dd{overflow-wrap:anywhere;margin:0}@media (width<=860px){.topbar{flex-wrap:wrap;gap:8px 12px;padding:8px}.topbar .nav{min-height:28px}.search{flex:60%;order:5}.stats{order:7;justify-content:space-between;width:100%;margin:0}.feed,.statusbar .optional{display:none}.app:has(.panel) .filter-dock{left:12px}.tool-btn{gap:6px;height:44px;padding:0 11px;font-size:12px}.tool-btn span{display:none}.opt{min-height:44px;font-size:13px}.type-toggle{min-height:36px;font-size:12px}.type-only{opacity:1;min-height:36px;padding:0 10px;font-size:11px}.legend header{min-height:30px}.legend header button{min-height:30px;font-size:11px}.panel{border-width:1px 0 0;width:auto;height:55%;top:auto;left:0;right:0}.prose dl{grid-template-columns:1fr;gap:2px}.prose dd{margin-bottom:12px}}.act.primary{color:var(--accent);border-color:var(--accent)}.ps-note{color:var(--muted);margin:0;padding:12px 16px;font-size:12px}.ps .ps-note{padding:0}.detail{max-width:1240px;margin:0 auto;padding:24px 20px 64px}.detail-hero h1{letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-size:34px;line-height:1.1}.detail-hero p{color:var(--muted);margin:6px 0 16px}.detail-bar{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:14px;display:flex}.detail-state{color:var(--muted);flex-direction:column;gap:2px;font-size:12px;display:flex}.detail-state time{color:var(--text);font-weight:500}.detail-bar .actions{margin-left:auto;padding:0}.detail-comment{margin:0 0 14px}.card{background:var(--surface);border:1px solid var(--line);min-width:0}.card>.ps:first-child{border-top:0}.detail-top{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:14px;display:grid}.map-card{min-height:460px;position:relative}.detail-map{inset:0;position:absolute!important}.detail-range{flex-wrap:wrap;align-items:center;gap:8px 16px;margin:28px 0 12px;display:flex}.detail-range h2{letter-spacing:-.01em;margin:0;font-size:18px}.detail-range p{color:var(--muted);margin:0 0 0 auto;font-size:12px}.detail .segmented button{min-height:26px}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:14px;display:grid}.tchart{margin:0;padding:12px 14px 8px}.tchart figcaption{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.tchart figcaption span{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:11px}.tchart figcaption b{white-space:nowrap;font-size:16px;font-weight:600}.tchart figcaption small{color:var(--muted);font-size:11px;font-weight:400}.tchart figcaption em{color:var(--muted);margin-left:8px;font-size:11px;font-style:normal;font-weight:400}.tchart svg{touch-action:pan-y;display:block}.tchart text{fill:var(--muted);font-family:inherit;font-size:10px}.tchart .grid{stroke:var(--line);stroke-width:1px}.tchart .line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.tchart .bar{fill:var(--accent);opacity:.85}.tchart .bar.on{opacity:1}.tchart .cross{stroke:var(--muted);stroke-width:1px;stroke-dasharray:2 3}.tchart .dot{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.detail-split{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:14px;margin-top:14px;display:grid}.detail-block{margin-top:14px}.links li{grid-template-columns:minmax(0,11ch) 1fr auto 8ch;align-items:center;gap:10px;padding:4px 0;font-size:12px;display:grid}.links a,.messages a{color:var(--accent);overflow-wrap:anywhere;text-decoration:none}.links a:hover,.messages a:hover{text-decoration:underline}.links b{font-weight:500}.links small{color:var(--muted);text-align:right;font-size:11px}.meter{background:var(--surface-2);height:4px}.meter i{background:var(--accent);height:100%;display:block}.messages li{border-top:1px solid var(--line);padding:8px 0}.messages li:first-child{border-top:0;padding-top:0}.messages header{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:2px 12px;font-size:11px;display:flex}.messages p{overflow-wrap:anywhere;margin:3px 0 0;font-size:12.5px}.log-controls{align-items:center;gap:10px;display:flex}.log-controls select{background:var(--surface-2);border:1px solid var(--line);border-radius:2px;height:26px;padding:0 6px;font-size:11px}.detail-foot{color:var(--muted);margin:24px 0 0;font-size:12px}.detail-foot button{color:var(--accent);font-size:12px;text-decoration:underline}.doc .feedback{z-index:5;position:fixed}#embed{scroll-margin-top:72px}.embed-intro{max-width:70ch;color:var(--muted);margin:0 0 12px;font-size:12px}.embed-preview{background:var(--surface-2);justify-content:center;margin-bottom:12px;padding:20px 12px;display:flex}.embed-preview img{max-width:100%;height:auto;display:block}.embed-controls{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:8px;display:flex}.embed-code{resize:none;background:var(--surface-2);border:1px solid var(--line);border-radius:2px;outline:none;width:100%;margin-bottom:8px;padding:8px;font-size:11.5px;display:block}.embed-code:focus{border-color:var(--accent)}@media (width<=860px){.detail{padding:16px 12px 48px}.detail-hero h1{font-size:28px}.detail-top{grid-template-columns:1fr}.map-card{min-height:280px}.detail-bar .actions{width:100%;margin-left:0}.detail-range p{width:100%;margin:0}.ps>header{flex-wrap:wrap;gap:6px}.act{height:38px;padding:0 14px;font-size:12px}.segmented button,.detail .segmented button{min-height:34px;padding:0 10px;font-size:11px}.status-link{min-height:26px;padding:0 2px}.statusbar{height:40px}.statusbar .segmented button{min-height:30px}.status-actions{justify-content:space-between;gap:12px;width:100%;margin-left:0}.statusbar .segmented em{display:none}.log-controls select{height:34px;font-size:12px}.ph-close{margin:-8px;padding:8px}.menu-btn{height:34px}.menu-item{min-height:44px;font-size:13px}.stats+.menu-host .site-menu{margin-left:auto}.nav a{min-height:34px}.links li{grid-template-columns:minmax(0,11ch) 1fr auto}.links small{display:none}.tiles{grid-template-columns:repeat(2,1fr)}.route button{min-height:26px}.links a,.messages a,.detail-foot button,a.ps-aside,.prose a{padding:6px 0;display:inline-block}.links li,.messages header{align-items:center}}
