@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");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}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.T19VSG_className{font-family:Geist,Geist Fallback;font-style:normal}.T19VSG_variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");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}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}._8Li5zG_className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}._8Li5zG_variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--bg:#f6f7f9;--panel:#fff;--fg:#1a1f29;--muted:#667085;--line:#e3e6eb;--accent:#0f766e;--accent-soft:#e6f4f2;--warn-bg:#fff4e5;--warn-fg:#8a4b00;--danger:#dc2626;--sidebar:360px;--scroll-thumb:color-mix(in srgb, var(--accent) 35%, var(--line));--scroll-thumb-hover:color-mix(in srgb, var(--accent) 70%, var(--line));--mono:var(--font-geist-mono), ui-monospace, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1218;--panel:#161a22;--fg:#e6e8ec;--muted:#98a2b3;--line:#2a303b;--accent:#2dd4bf;--accent-soft:#123b37;--warn-bg:#3a2a10;--warn-fg:#f5c26b}}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover);background-clip:padding-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:var(--font-geist-sans), system-ui, sans-serif;font-size:14px;line-height:1.45}h1,h2,h3{margin:0}.muted{color:var(--muted)}.app{grid-template-columns:var(--sidebar) 1fr;height:100dvh;display:grid}.sidebar{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;gap:18px;padding:18px 16px 28px;display:flex;overflow-y:auto}.sidebar header h1{letter-spacing:-.01em;font-size:18px}.sidebar header p{margin:4px 0 0;font-size:13px}.controls{flex-direction:column;gap:16px;display:flex}.controls section{flex-direction:column;gap:8px;display:flex}.controls h2,.metrics h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px;font-weight:600}.controls h3{margin-top:4px;font-size:12px;font-weight:600}select{border:1px solid var(--line);background:var(--panel);width:100%;color:var(--fg);font:inherit;border-radius:8px;padding:8px 10px}.segmented{flex-wrap:wrap;gap:4px;display:flex}.segmented button{border:1px solid var(--line);color:var(--fg);font:inherit;cursor:pointer;background:0 0;border-radius:7px;flex:auto;padding:6px 9px;font-size:13px}.segmented button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.segmented button:disabled{opacity:.4;cursor:not-allowed}.radio-list{grid-template-columns:1fr 1fr;gap:4px 10px;display:grid}.radio-list label,.check{cursor:pointer;align-items:center;gap:6px;display:flex}.radio-list label.disabled{opacity:.4;cursor:not-allowed}input[type=radio],input[type=checkbox],input[type=range]{accent-color:var(--accent)}.slider{flex-direction:column;gap:4px;display:flex}.slider input{width:100%}.hint{color:var(--muted);margin:0;font-size:12px}.metrics{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:16px;display:flex}.metrics h2 .sub{text-transform:none;letter-spacing:0;margin-top:2px;font-weight:400;display:block}.metrics h2{color:var(--fg);text-transform:none;letter-spacing:0;font-size:13px}.tiles{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tile{border:1px solid var(--line);border-radius:10px;flex-direction:column;padding:8px 10px;display:flex}.tile .label{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.tile .label i,.legend i{border-radius:50%;width:10px;height:10px;display:inline-block}.tile .value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:22px;font-weight:600}.tile .note{color:var(--muted);font-size:12px}.metrics table{border-collapse:collapse;font-variant-numeric:tabular-nums}.metrics th{text-align:left;color:var(--muted);white-space:nowrap;vertical-align:top;padding:3px 12px 3px 0;font-weight:500}.metrics td{padding:3px 0}.warn{background:var(--warn-bg);color:var(--warn-fg);border-radius:8px;margin:0;padding:8px 10px;font-size:13px}.map-wrap{min-height:0;position:relative}.map{width:100%;height:100%}.loading,.fatal{height:100%;color:var(--muted);text-align:center;place-content:center;padding:16px;display:grid}.fatal code{font-family:var(--mono)}.credit{z-index:2;color:#475467;white-space:nowrap;background:#ffffffd9;border-radius:999px;padding:2px 9px;font-size:11px;text-decoration:none;position:absolute;top:8px;left:50%;transform:translate(-50%);box-shadow:0 1px 4px #0000001f}.credit:hover,.credit:focus-visible{color:#0f766e;text-decoration:underline}.busy{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:12px;position:absolute;top:36px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0000001f}.legend{background:var(--panel);border:1px solid var(--line);overscroll-behavior:contain;border-radius:10px;flex-direction:column;gap:5px;min-width:180px;max-width:240px;max-height:calc(100% - 24px);padding:10px 12px;font-size:12px;display:flex;position:absolute;top:12px;right:12px;overflow-y:auto;box-shadow:0 2px 10px #0000001f}.legend.collapsed{min-width:0}.legend-head{color:var(--fg);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;margin:-4px -6px;padding:4px 6px;font-weight:600;display:flex}.legend-head:hover,.legend-head:focus-visible{background:var(--accent-soft)}.legend-head .chevron{transition:transform .15s}.legend.collapsed .legend-head .chevron{transform:rotate(-90deg)}.legend-body{flex-direction:column;gap:5px;display:flex}.legend-body[hidden]{display:none}.legend.collapsed .legend-toggle{margin-bottom:0}.legend-info-toggle{align-self:flex-start;display:none}.legend-info{flex-direction:column;gap:5px;display:flex}.legend .row{align-items:center;gap:8px;display:flex}.tabs button{padding:8px 10px;font-size:13px}.section-head{justify-content:space-between;align-items:baseline;display:flex}button.link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.chip-group{flex-direction:column;gap:4px;display:flex}.chips{flex-wrap:wrap;gap:4px;display:flex}.chip{border:1px solid var(--line);color:var(--fg);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:3px 9px;font-size:12px}.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.radio-stack{flex-direction:column;gap:6px;display:flex}.radio-card{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.radio-card:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.radio-card input{margin-top:3px}.radio-card span{flex-direction:column;gap:2px;font-size:13px;display:flex}.radio-card .muted{font-size:12px}.ranked{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ranked button{text-align:left;border:1px solid var(--line);width:100%;color:var(--fg);font:inherit;cursor:pointer;background:0 0;border-radius:8px;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;padding:7px 8px;font-size:13px;display:grid}.ranked button:hover,.ranked button.active{border-color:var(--accent);background:var(--accent-soft)}.ranked .rank{color:var(--muted);font-variant-numeric:tabular-nums}.ranked .road,.ranked .nums{flex-direction:column;min-width:0;display:flex}.ranked .road strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ranked .nums{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ranked .muted{font-size:11.5px}.band-label .muted{font-variant-numeric:tabular-nums}.legend-toggle{margin-bottom:4px}.legend-toggle button{padding:4px 10px;font-size:12px}.legend i.line{border-radius:2px;width:16px;height:4px}.legend .title{font-weight:600}.legend .ramp{border-radius:5px;height:10px}.legend .ends{color:var(--muted);justify-content:space-between;display:flex}.legend .note{color:var(--muted)}.popup{color:#1a1f29;max-width:340px;font-size:13px}.popup h3{font-size:14px}.popup p{margin:4px 0}.popup .muted{color:#667085}.popup .dsi{color:#dc2626}.popup summary{cursor:pointer;margin-top:6px;font-weight:500}.scores{max-height:220px;margin:6px 0;padding:0;list-style:none;overflow-y:auto}.scores li{justify-content:space-between;gap:8px;padding:2px 4px;font-size:11.5px;display:flex;position:relative}.scores li.current{border-radius:4px;outline:1.5px solid #0f766e}.scores .bar{opacity:.6;z-index:0;border:1px solid #98a2b3;border-radius:3px;position:absolute;inset:0 auto 0 0}.scores .bar[data-flagged=true]{background:#cbd5e1}.scores .name,.scores .p{z-index:1;position:relative}.scores .p{font-family:var(--mono)}@media (prefers-reduced-motion:reduce){.legend-head .chevron{transition:none}}@media (max-width:800px){.app{grid-template-rows:55dvh 1fr;grid-template-columns:1fr;overflow:hidden}.map-wrap{grid-row:1}.sidebar{border-right:0;border-top:1px solid var(--line);min-height:0;padding:14px max(16px, env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));overscroll-behavior:contain;grid-row:2;gap:14px}.legend{min-width:0;max-width:min(240px,100% - 16px);max-height:calc(100% - 160px);padding:8px 10px;top:38px;right:8px}.credit{top:8px;left:8px;transform:none}select{min-height:40px;font-size:16px}.segmented button,.tabs button{min-height:40px}.legend-toggle button{min-height:34px}.legend-head{min-height:32px}.legend-info-toggle{padding:6px 0 2px;display:block}.legend-info:not(.open){display:none}.chip{padding:7px 12px;font-size:13px}.radio-list{gap:2px 10px}.radio-list label,.check{min-height:36px}.ranked button{padding:10px 8px}button.link{padding:8px 0}.tile .value{font-size:20px}.popup{max-width:min(340px,75vw)}}@media (max-width:800px) and (orientation:landscape) and (max-height:500px){.app{grid-template-rows:100dvh;grid-template-columns:minmax(260px,40%) 1fr}.map-wrap{grid-area:1/2}.sidebar{border-top:0;border-right:1px solid var(--line);grid-area:1/1}}@media (hover:none){.ranked button:hover{border-color:var(--line);background:0 0}.ranked button.active{border-color:var(--accent);background:var(--accent-soft)}}.sidebar-links{border-top:1px solid var(--line);flex-wrap:wrap;gap:4px 14px;margin-top:auto;padding-top:12px;font-size:12px;display:flex}.sidebar-links a,.site-footer a,.prose a{color:var(--accent)}.sidebar-links a{color:var(--muted);text-decoration:none}.sidebar-links a:hover,.sidebar-links a:focus-visible{color:var(--accent);text-decoration:underline}.home-intro{background:var(--panel);border-top:1px solid var(--line);padding:40px 16px 0}.prose{max-width:720px;margin:0 auto;font-size:16px;line-height:1.65}.prose h1{letter-spacing:-.02em;margin-bottom:12px;font-size:32px;line-height:1.2}.prose h2{margin:32px 0 8px;font-size:22px;line-height:1.3}.prose h3{margin:24px 0 6px;font-size:18px}.prose>h2:first-child{margin-top:0}.prose p,.prose ul,.prose ol{margin:0 0 14px}.prose ul,.prose ol{padding-left:22px}.prose li{margin-bottom:6px}.prose .lead{color:var(--muted);font-size:18px}.prose code{font-family:var(--mono);overflow-wrap:anywhere;font-size:.88em}.prose table{border-collapse:collapse;width:100%;margin:8px 0 16px;font-size:15px;display:block;overflow-x:auto}.prose caption{text-align:left;color:var(--muted);padding-bottom:4px;font-size:13px}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:8px 12px 8px 0}.prose .button{background:var(--accent);color:var(--panel);border-radius:8px;padding:8px 16px;font-weight:600;text-decoration:none;display:inline-block}.prose .button:hover,.prose .button:focus-visible{filter:brightness(1.08)}.content-page{background:var(--panel);flex-direction:column;min-height:100dvh;display:flex}.content-header{padding:14px max(16px, env(safe-area-inset-left));border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;display:flex}.content-header .brand{letter-spacing:-.01em;color:var(--fg);font-size:18px;font-weight:700;text-decoration:none}.header-nav ul,.footer-nav ul{flex-wrap:wrap;gap:4px 18px;margin:0;padding:0;list-style:none;display:flex}.header-nav a{color:var(--muted);text-decoration:none}.header-nav a:hover,.header-nav a:focus-visible{color:var(--accent);text-decoration:underline}.content-main{flex:1;padding:40px 16px 24px}.site-footer{max-width:720px;padding:20px 0 calc(28px + env(safe-area-inset-bottom));border-top:1px solid var(--line);color:var(--muted);margin:40px auto 0;font-size:13px}.content-page .site-footer{width:calc(100% - 32px)}.site-footer p{margin:10px 0 0}@media (max-width:800px){.prose h1{font-size:26px}.sidebar-links a,.header-nav a,.footer-nav a{padding:6px 0;display:inline-block}}.back-to-map{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:10;opacity:0;pointer-events:none;background:var(--accent);min-height:40px;color:var(--panel);font:inherit;cursor:pointer;border:0;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:600;transition:opacity .2s,transform .2s;position:fixed;transform:translate(-50%,12px);box-shadow:0 4px 14px #0000002e}.back-to-map.visible{opacity:1;pointer-events:auto;transform:translate(-50%)}.back-to-map:hover,.back-to-map:focus-visible{filter:brightness(1.08)}.back-to-map:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.home-intro .site-footer{padding-bottom:calc(80px + env(safe-area-inset-bottom))}@media (prefers-reduced-motion:reduce){.back-to-map{transition:none}}
