@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap";:root{--font:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--bg:#f4f3ef;--bg-2:#ecebe5;--surface:#fff;--surface-2:#f8f7f3;--line:#e2e0d8;--line-2:#d3d0c5;--ink:#0f1513;--ink-2:#3a4340;--mute:#6b736f;--brand:#0f5a47;--brand-2:#127a60;--brand-ink:#fff;--brand-soft:#e3efe9;--gold:#b48a2c;--gold-soft:#f6eedb;--ok:#1d7a4f;--ok-soft:#e2f3ea;--warn:#a96a07;--warn-soft:#fbf0d9;--bad:#b3362b;--bad-soft:#fbe5e2;--info:#2b5fa8;--info-soft:#e3ecf8;--r-s:8px;--r:12px;--r-l:18px;--shadow-1:0 1px 2px #0f15130d, 0 1px 1px #0f151308;--shadow-2:0 8px 24px -8px #0f151324, 0 2px 6px #0f15130d;--shadow-3:0 24px 60px -16px #0f151347;--ease:cubic-bezier(.22, 1, .36, 1);--header-h:60px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b1210;--bg-2:#0f1916;--surface:#121c19;--surface-2:#16221e;--line:#22312c;--line-2:#2d3f39;--ink:#ecf1ee;--ink-2:#c4cdc9;--mute:#8a9792;--brand:#2fa47f;--brand-2:#3cbf95;--brand-ink:#04110c;--brand-soft:#143128;--gold:#e0b95a;--gold-soft:#2d2614;--ok:#4cc48a;--ok-soft:#12301f;--warn:#e6a640;--warn-soft:#33270f;--bad:#f0776a;--bad-soft:#3a1714;--info:#6fa2ec;--info-soft:#152640;--shadow-1:0 1px 2px #0006;--shadow-2:0 10px 30px -10px #0009;--shadow-3:0 30px 70px -20px #000000bf;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0b1210;--bg-2:#0f1916;--surface:#121c19;--surface-2:#16221e;--line:#22312c;--line-2:#2d3f39;--ink:#ecf1ee;--ink-2:#c4cdc9;--mute:#8a9792;--brand:#2fa47f;--brand-2:#3cbf95;--brand-ink:#04110c;--brand-soft:#143128;--gold:#e0b95a;--gold-soft:#2d2614;--ok:#4cc48a;--ok-soft:#12301f;--warn:#e6a640;--warn-soft:#33270f;--bad:#f0776a;--bad-soft:#3a1714;--info:#6fa2ec;--info-soft:#152640;--shadow-1:0 1px 2px #0006;--shadow-2:0 10px 30px -10px #0009;--shadow-3:0 30px 70px -20px #000000bf;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100vh;font-size:15px;line-height:1.5}#root{flex-direction:column;min-height:100vh;display:flex}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;line-height:1.2}h1{font-size:clamp(24px,3vw,32px);font-weight:700}h2{font-size:20px;font-weight:650}h3{font-size:16px;font-weight:600}p{margin:0}code,kbd,.mono{font-family:var(--mono);font-size:.9em}::selection{background:var(--brand-soft)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}img{max-width:100%;display:block}.rx-demo-strip{background:linear-gradient(90deg, var(--brand) 0%, #0b4436 100%);color:#fff;text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:6px 16px;font-size:12.5px;display:flex}.rx-demo-strip a{color:#f4dc9c;font-weight:600}.rx-header{z-index:30;height:var(--header-h);background:color-mix(in srgb, var(--surface) 86%, transparent);-webkit-backdrop-filter:saturate(160%)blur(14px);border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:0 clamp(14px,3vw,28px);display:flex;position:sticky;top:0}.rx-logo{color:var(--ink);white-space:nowrap;align-items:center;gap:10px;font-weight:700;display:flex}.rx-logo:hover{text-decoration:none}.rx-logo-mark{color:#fff;background:radial-gradient(120% 120% at 20% 10%,#1c8a6c 0%,#0f5a47 55%,#0a3a2e 100%);border-radius:9px;place-items:center;width:32px;height:32px;display:grid;box-shadow:inset 0 0 0 1px #ffffff1f,0 2px 6px #0f5a4759}.rx-logo-mark svg{width:18px;height:18px}.rx-logo small{color:var(--mute);margin-top:-2px;font-size:11.5px;font-weight:500;display:block}.rx-nav{scrollbar-width:none;gap:2px;margin-left:14px;display:flex;overflow-x:auto}.rx-nav::-webkit-scrollbar{display:none}.rx-nav a,.rx-nav button{all:unset;cursor:pointer;color:var(--ink-2);white-space:nowrap;border-radius:8px;padding:7px 12px;font-size:14px;font-weight:500}.rx-nav a:hover,.rx-nav button:hover{background:var(--bg-2);text-decoration:none}.rx-nav .on{background:var(--brand-soft);color:var(--brand)}.rx-spacer{flex:1}.rx-tools{align-items:center;gap:6px;display:flex}.rx-seg{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;padding:2px;display:inline-flex}.rx-seg button{all:unset;cursor:pointer;color:var(--mute);border-radius:7px;padding:4px 9px;font-size:12.5px;font-weight:600}.rx-seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.rx-icon-btn{all:unset;cursor:pointer;width:34px;height:34px;color:var(--ink-2);border:1px solid var(--line);background:var(--surface-2);border-radius:9px;place-items:center;display:grid}.rx-icon-btn:hover{background:var(--bg-2)}.rx-icon-btn svg{width:17px;height:17px}.rx-main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:clamp(16px,3vw,32px) clamp(14px,3vw,28px) 48px}.rx-main.wide{max-width:1520px}.rx-page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.rx-page-head p{color:var(--mute);max-width:720px;margin-top:6px}.rx-grid{gap:16px;display:grid}.rx-grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.rx-grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.rx-grid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=980px){.rx-grid.c3,.rx-grid.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.rx-grid.c2,.rx-grid.c3{grid-template-columns:1fr}.rx-grid.c4{grid-template-columns:repeat(2,minmax(0,1fr))}.rx-nav{margin-left:0}}.rx-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.rx-col{flex-direction:column;gap:10px;display:flex}.rx-split{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:16px;display:grid}@media (width<=1000px){.rx-split{grid-template-columns:1fr}}.rx-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-1);min-width:0;padding:18px}.rx-card.flush{padding:0;overflow:hidden}.rx-card-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.rx-card-head h3{font-size:15px}.rx-card-head .sub{color:var(--mute);font-size:13px}.rx-stat{flex-direction:column;gap:4px;display:flex}.rx-stat-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.rx-stat-ico{color:var(--brand);flex:none;display:inline-flex}.rx-stat .label{color:var(--mute);min-width:0;font-size:13px;font-weight:500}.rx-stat .value{overflow-wrap:anywhere;letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:clamp(20px,5.4vw,28px);font-weight:700}.rx-stat .delta{font-size:12.5px;font-weight:600}.rx-stat .delta.up{color:var(--ok)}.rx-stat .delta.down{color:var(--bad)}.rx-btn{height:38px;font:600 14px/1 var(--font);cursor:pointer;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 16px;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s;display:inline-flex;text-decoration:none!important}.rx-btn:hover{background:var(--surface-2);border-color:var(--mute)}.rx-btn:active{transform:translateY(1px)}.rx-btn:disabled{opacity:.5;cursor:not-allowed}.rx-btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink);box-shadow:0 2px 8px -2px color-mix(in srgb, var(--brand) 60%, transparent)}.rx-btn.primary:hover{background:var(--brand-2);border-color:var(--brand-2)}.rx-btn.gold{background:var(--gold);border-color:var(--gold);color:#1b1404}.rx-btn.ghost{background:0 0;border-color:#0000}.rx-btn.ghost:hover{background:var(--bg-2)}.rx-btn.danger{color:var(--bad)}.rx-btn.sm{border-radius:8px;height:30px;padding:0 11px;font-size:13px}.rx-btn.lg{border-radius:12px;height:46px;padding:0 22px;font-size:15px}.rx-btn svg{width:16px;height:16px}.rx-field{flex-direction:column;gap:6px;min-width:0;display:flex}.rx-field>span{color:var(--ink-2);font-size:13px;font-weight:600}.rx-field .hint{color:var(--mute);font-size:12px;font-weight:400}.rx-input,.rx-select,.rx-textarea{width:100%;font:400 14.5px/1.4 var(--font);color:var(--ink);background:var(--surface);border:1px solid var(--line-2);border-radius:10px;padding:9px 12px;transition:border-color .15s,box-shadow .15s}.rx-input:focus,.rx-select:focus,.rx-textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 18%, transparent);outline:none}.rx-textarea{resize:vertical;min-height:90px}.rx-check{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.rx-check input{accent-color:var(--brand);width:16px;height:16px}.rx-badge{background:var(--bg-2);height:22px;color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.rx-badge:before{content:"";opacity:.8;background:currentColor;border-radius:50%;width:6px;height:6px}.rx-badge.plain:before{display:none}.rx-badge.ok{background:var(--ok-soft);color:var(--ok)}.rx-badge.warn{background:var(--warn-soft);color:var(--warn)}.rx-badge.bad{background:var(--bad-soft);color:var(--bad)}.rx-badge.info{background:var(--info-soft);color:var(--info)}.rx-badge.brand{background:var(--brand-soft);color:var(--brand)}.rx-badge.gold{background:var(--gold-soft);color:var(--gold)}.rx-table-wrap{overflow-x:auto}.rx-table{border-collapse:collapse;width:100%;font-size:14px}.rx-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--mute);border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap;padding:10px 14px;font-size:12px;font-weight:600}.rx-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 14px}.rx-table tr:last-child td{border-bottom:0}.rx-table tbody tr{transition:background .12s}.rx-table tbody tr.click{cursor:pointer}.rx-table tbody tr:hover{background:var(--surface-2)}.rx-table .num{text-align:right;font-variant-numeric:tabular-nums}.rx-muted{color:var(--mute)}.rx-small{font-size:13px}.rx-divider{background:var(--line);border:0;height:1px;margin:14px 0}.rx-empty{text-align:center;color:var(--mute);flex-direction:column;align-items:center;gap:10px;padding:48px 20px;display:flex}.rx-empty .ico{background:var(--brand-soft);width:54px;height:54px;color:var(--brand);border-radius:16px;place-items:center;display:grid}.rx-empty .ico svg{width:26px;height:26px}.rx-empty h3{color:var(--ink)}.rx-skel{background:linear-gradient(90deg, var(--bg-2) 0%, var(--surface-2) 50%, var(--bg-2) 100%);background-size:200% 100%;border-radius:8px;animation:1.3s infinite rx-shim}@keyframes rx-shim{to{background-position:-200% 0}}.rx-spin{border:2px solid;border-right-color:#0000;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite rx-rot;display:inline-block}@keyframes rx-rot{to{transform:rotate(360deg)}}.rx-modal-bg{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:rx-fade .18s var(--ease);background:#080e0c73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.rx-modal{background:var(--surface);border:1px solid var(--line);width:min(560px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow-3);animation:rx-pop .22s var(--ease);border-radius:20px;overflow:auto}.rx-modal.wide{width:min(860px,100%)}.rx-modal-head{justify-content:space-between;align-items:center;padding:18px 20px 6px;display:flex}.rx-modal-body{padding:12px 20px 20px}.rx-modal-foot{border-top:1px solid var(--line);background:var(--surface-2);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.rx-toasts{z-index:80;flex-direction:column;gap:8px;max-width:min(380px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.rx-toast{background:var(--ink);color:var(--bg);box-shadow:var(--shadow-2);animation:rx-pop .22s var(--ease);border-radius:12px;align-items:center;gap:10px;padding:11px 14px;font-size:14px;display:flex}.rx-toast.ok{border-left:4px solid var(--ok)}.rx-toast.bad{border-left:4px solid var(--bad)}.rx-drawer-bg{z-index:55;background:#080e0c59;animation:.18s rx-fade;position:fixed;inset:0}.rx-drawer{z-index:56;background:var(--surface);border-left:1px solid var(--line);width:min(520px,100vw);box-shadow:var(--shadow-3);animation:rx-slide .25s var(--ease);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.rx-drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.rx-drawer-body{flex:1;padding:18px 20px;overflow:auto}@keyframes rx-fade{0%{opacity:0}}@keyframes rx-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes rx-slide{0%{opacity:0;transform:translate(40px)}}.rx-enter{animation:rx-pop .35s var(--ease) both}.rx-footer{border-top:1px solid var(--line);color:var(--mute);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px clamp(14px,3vw,28px);font-size:13px;display:flex}.rx-footer a{color:var(--ink-2);font-weight:600}.rx-tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:16px;display:flex;overflow-x:auto}.rx-tabs button{all:unset;cursor:pointer;color:var(--mute);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-size:14px;font-weight:600}.rx-tabs button.on{color:var(--brand);border-color:var(--brand)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media print{.rx-header,.rx-demo-strip,.rx-footer,.rx-toasts{display:none!important}body{background:#fff}}@media (width<=640px){.rx-header{height:auto;min-height:var(--header-h);flex-wrap:wrap;gap:6px 8px;padding-top:8px;padding-bottom:6px}.rx-logo small{display:none}.rx-logo{text-overflow:ellipsis;min-width:0;overflow:hidden}.rx-nav{scroll-snap-type:x proximity;order:3;width:calc(100% + 28px);margin:0 -14px;padding:0 14px;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 88%,#0000);mask-image:linear-gradient(90deg,#000 88%,#0000)}.rx-nav a,.rx-nav button{white-space:nowrap;flex:none}.rx-page-head>.rx-row{flex-wrap:wrap;width:100%}.hide-sm{display:none!important}.rx-nav a,.rx-nav button{padding:6px 10px;font-size:13.5px}}.show-sm{display:none!important}@media (width<=640px){.show-sm{display:revert!important}}:root{--mute:#5f6763;--warn:#8a5600;--gold-ink:#7a5a12;--focus:var(--brand)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--mute:#8a9792;--warn:#e6a640;--gold-ink:#e0b95a;--focus:#7fe0bd}}:root[data-theme=dark]{--mute:#8a9792;--warn:#e6a640;--gold-ink:#e0b95a;--focus:#7fe0bd}.rx-badge.gold{color:var(--gold-ink)}.rx-logo small{color:var(--mute)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.rx-nav button:focus-visible,.rx-seg button:focus-visible,.rx-icon-btn:focus-visible,.rx-tabs button:focus-visible,.rx-logo:focus-visible,.city-skip:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:8px}.rx-nav{padding:3px}.rx-nav button[aria-current=page]{box-shadow:inset 0 -2px 0 var(--brand)}main.rx-main:focus{outline:none}.leaflet-container:focus-visible{outline-offset:-3px;outline:3px solid var(--focus)!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.city-skip{z-index:100;background:var(--brand);color:var(--brand-ink);box-shadow:var(--shadow-2);border-radius:10px;padding:10px 16px;font-weight:700;position:fixed;top:-80px;left:12px}.city-skip:focus{text-decoration:none;top:10px}.city-lv-btn{gap:6px}.city-lv-btn.on{background:var(--ink);color:var(--surface);border-color:var(--ink)}@media (width<=640px){.city-lv-txt{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.city-lv-btn{padding:0 9px}}.city-h3{align-items:center;gap:8px;margin:0;font-size:16px;font-weight:700;display:flex}.city-h4{align-items:center;gap:6px;margin:0 0 8px;font-size:15px;font-weight:700;display:flex}.city-narrow{max-width:860px;margin:0 auto}.city-note{text-align:center;margin:22px 0 0}.city-kpis{margin:18px 0 16px}.city-err{color:var(--bad);margin-top:6px;font-size:13.5px;font-weight:600}.city-label{color:var(--ink-2);font-size:13px;font-weight:600}.city-id{font-family:var(--mono);color:var(--ink-2);white-space:nowrap;font-size:12.5px;font-weight:600}.city-id.big{background:var(--bg-2);border-radius:7px;padding:3px 8px;font-size:15px}.city-loading{place-items:center;padding:40px 0;display:grid}.city-fail{color:var(--bad);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:22px;font-weight:600;display:flex}.city-bad{color:var(--bad);font-weight:700}.city-back{align-items:center;gap:6px;margin-bottom:10px;font-weight:600;display:inline-flex}.city-body{white-space:pre-wrap;margin:12px 0 0;line-height:1.6}.rx-field>span{color:var(--ink-2)}.hint{color:var(--mute)}.rx-input::placeholder,.rx-textarea::placeholder{color:var(--mute);opacity:1}[aria-invalid=true]{box-shadow:0 0 0 1px var(--bad);border-color:var(--bad)!important}.city-st svg{margin-left:-2px}.city-st:before{display:none}.rx-badge.bad{color:var(--bad)}.city-cat{background:var(--brand-soft);width:38px;height:38px;color:var(--brand);border-radius:11px;flex:none;place-items:center;display:grid}.city-cat.sm{vertical-align:middle;border-radius:8px;width:26px;height:26px;margin-right:8px;display:inline-grid}.city-cat.c-roads{background:var(--warn-soft);color:var(--warn)}.city-cat.c-lighting{background:var(--gold-soft);color:var(--gold-ink)}.city-cat.c-waste,.city-cat.c-graffiti{background:var(--bad-soft);color:var(--bad)}.city-cat.c-water,.city-cat.c-transport{background:var(--info-soft);color:var(--info)}.city-sla{color:var(--ink-2);white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.city-sla.soon{color:var(--warn)}.city-sla.over,.city-sla.late{color:var(--bad)}.city-sla.ok{color:var(--ok)}.city-sla-bar{background:var(--bg-2);border:1px solid var(--line);border-radius:3px;width:56px;height:6px;display:inline-block;overflow:hidden}.city-sla-bar i{background:var(--ok);height:100%;display:block}.city-sla.soon .city-sla-bar i{background:var(--warn)}.city-sla.over .city-sla-bar i{background:var(--bad)}.city-hero{border-radius:var(--r-l);color:#fff;background:radial-gradient(120% 140% at 0 0,#17795f 0%,#0f5a47 45%,#0a3a2e 100%);padding:clamp(22px,4vw,40px);position:relative;overflow:hidden}.city-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#e0b95a59 0%,#e0b95a00 70%);border-radius:50%;width:320px;height:320px;position:absolute;top:-60px;right:-60px}.city-hero h1{letter-spacing:-.02em;color:#fff;margin:0 0 8px;font-size:clamp(26px,4vw,38px)}.city-hero p{color:#e4f1ec;max-width:640px;margin:0 0 18px;font-size:16px;line-height:1.55}.city-hero-text{z-index:1;position:relative}.city-hero .rx-btn.primary{color:#1d1a0e;background:#f0d58a;border-color:#f0d58a}.city-hero .rx-btn.primary:hover{background:#f6e2a8}.city-hero .rx-btn.primary:focus-visible,.city-hero .rx-input:focus-visible,.city-hero .rx-btn:focus-visible{outline-offset:2px;outline:3px solid #fff}.city-hero .city-track .rx-input{color:#0f1513;background:#fffffff5;border-color:#0000;min-width:150px}.city-hero .city-track .rx-input::placeholder{color:#4b5350}.city-hero .city-track .rx-btn{color:#fff;background:#ffffff24;border-color:#ffffff8c}.city-hero .city-err{color:#ffd9d4}.city-track.compact .rx-row{flex-wrap:nowrap}.city-track:not(.compact) .rx-input{flex:1;min-width:0}.city-track:not(.compact) .city-label{margin-bottom:6px;display:block}.city-filters{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.city-filters .rx-field{flex:150px;margin:0}.city-filters .city-f-q{flex:2 220px}.city-f-reset{height:40px}.city-split{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=1000px){.city-split{grid-template-columns:1fr}}.city-map-card .rx-card-head{flex-wrap:wrap;gap:8px}.city-feed{padding:16px 18px}.city-feed .rx-card-head{margin-bottom:6px}.city-list{margin:0;padding:0;list-style:none}.city-item{border-top:1px solid var(--line);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.city-item:first-child{border-top:0}.city-item-main{flex:1;min-width:0}.city-item-title{color:var(--ink);font-weight:600;line-height:1.35;display:block}.city-item-title:hover{color:var(--brand)}.city-item-meta{color:var(--mute);flex-wrap:wrap;gap:4px 10px;margin-top:3px;display:flex}.city-why{color:var(--ink-2);margin-top:3px}.city-item-side{flex-direction:column;flex:none;align-items:flex-end;gap:6px;display:flex}.city-counts{gap:10px;display:flex}.city-counts>span{align-items:center;gap:3px;display:inline-flex}.city-more{justify-content:center;width:100%;margin-top:8px}.city-map-wrap{position:relative}.city-map{border-radius:var(--r);border:1px solid var(--line);background:var(--surface-2);position:relative;overflow:hidden}.city-leaflet{background:var(--surface-2)}.city-map-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.city-map-note{color:var(--warn);font-weight:600}.city-pick-bar{background:var(--brand-soft);color:var(--ink);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding:8px 10px;display:flex}.city-map-loading{background:var(--surface-2);place-items:center;display:grid;position:absolute;inset:0}.city-svg svg{width:100%;height:100%;display:block}.city-svg-label{font:600 13px var(--font);fill:var(--ink-2)}.city-legend{color:var(--ink-2);flex-wrap:wrap;gap:4px 12px;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.city-legend li{align-items:center;gap:6px;display:inline-flex}.city-legend .dot{border:2px solid var(--surface);width:10px;height:10px;box-shadow:0 0 0 1px var(--line-2);border-radius:50%}.city-map .leaflet-container{font:inherit;background:var(--surface-2)}.city-map .leaflet-control-attribution{color:#333;background:#ffffffeb;font-size:11px}.city-map .leaflet-control-attribution a{color:#0b4f8a}.city-map .leaflet-tooltip{font:500 13px var(--font)}.city-map .leaflet-bar a{color:#0f1513}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .city-map .leaflet-tile-pane{filter:invert()hue-rotate(180deg)brightness(.92)contrast(.9)}}:root[data-theme=dark] .city-map .leaflet-tile-pane{filter:invert()hue-rotate(180deg)brightness(.92)contrast(.9)}.city-step{border:1px solid var(--line);min-width:0;margin:0}.city-step legend{float:left;width:100%;margin-bottom:12px;margin-left:-6px;padding:0 6px;font-size:16px;font-weight:700}.city-step legend+*{clear:both}.city-step .rx-field{display:block}.city-step .rx-input,.city-step .rx-textarea,.city-step .rx-select{width:100%}.city-cat-row{flex-wrap:wrap;gap:10px}.city-cat-row .rx-select{flex:220px;width:auto}.city-ai{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;margin-top:12px;padding:12px 14px}.city-ai-head{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.city-ai-head strong{align-items:center;gap:6px;display:inline-flex}.city-dups{border-top:1px dashed var(--line-2);margin-top:16px;padding-top:12px}.city-loc-anchor:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:12px}.city-photo-row{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.city-photo-prev,.city-photo-ph{object-fit:cover;border:1px solid var(--line);border-radius:12px;flex:none;width:132px;height:100px}.city-photo-ph{background:var(--surface-2);color:var(--mute);place-items:center;display:grid}.city-file{font:inherit;color:var(--ink-2);max-width:100%;font-size:14px}.city-file::file-selector-button{font:inherit;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:9px;margin-right:10px;padding:8px 12px;font-weight:600}.city-errsum{border:2px solid var(--bad);background:var(--bad-soft);border-radius:var(--r);padding:14px 18px}.city-errsum:focus{outline:3px solid var(--bad);outline-offset:2px}.city-errsum ul{margin:8px 0 0;padding-left:20px}.city-errsum a{color:var(--bad);font-weight:600;text-decoration:underline}.city-done{text-align:center;padding:34px 24px}.city-done h1{margin:10px 0 4px;font-size:26px}.city-done h1:focus{outline:none}.city-done-ico{background:var(--ok-soft);width:58px;height:58px;color:var(--ok);border-radius:50%;place-items:center;display:inline-grid}.city-big-id{font-family:var(--mono);color:var(--brand);letter-spacing:.02em;margin:2px 0 12px;font-size:34px;font-weight:700}.city-steps{counter-reset:s;margin:0 0 16px;padding:0;list-style:none;display:flex}.city-steps li{text-align:center;color:var(--mute);flex-direction:column;flex:1;align-items:center;gap:6px;font-size:13px;display:flex;position:relative}.city-steps li:before{content:"";background:var(--line);z-index:0;width:100%;height:3px;position:absolute;top:14px;right:50%}.city-steps li:first-child:before{display:none}.city-steps li.done:before,.city-steps li.now:before{background:var(--brand)}.city-steps .dot{z-index:1;background:var(--surface);border:2px solid var(--line-2);width:30px;height:30px;color:var(--mute);border-radius:50%;place-items:center;font-weight:700;display:grid;position:relative}.city-steps li.done .dot{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.city-steps li.now .dot{background:var(--brand);border-color:var(--brand);color:var(--brand-ink);box-shadow:0 0 0 4px var(--brand-soft)}.city-steps li.now.rejected .dot{background:var(--bad);border-color:var(--bad);box-shadow:0 0 0 4px var(--bad-soft);color:#fff}.city-steps li.now.progress .dot{background:var(--warn);border-color:var(--warn);box-shadow:0 0 0 4px var(--warn-soft);color:#fff}.city-steps li.done .lbl,.city-steps li.now .lbl{color:var(--ink);font-weight:600}.city-reason{background:var(--bad-soft);border-radius:10px;margin:0 0 14px;padding:10px 12px}.city-dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0;display:grid}.city-dl div{min-width:0}.city-dl dt{color:var(--mute);font-size:12.5px;font-weight:600}.city-dl dd{flex-wrap:wrap;align-items:center;gap:6px;margin:2px 0 0;display:flex}@media (width<=520px){.city-dl{grid-template-columns:1fr}}.city-fig{margin:14px 0 0}.city-fig img{object-fit:cover;border:1px solid var(--line);border-radius:12px;width:100%;max-height:420px;display:block}.city-fig figcaption{margin-top:6px}.city-timeline{margin:0;padding:0;list-style:none}.city-ev{gap:12px;padding-bottom:14px;display:flex;position:relative}.city-ev:not(:last-child):after{content:"";background:var(--line);width:2px;position:absolute;top:30px;bottom:0;left:13px}.city-ev-dot{background:var(--bg-2);width:28px;height:28px;color:var(--ink-2);border-radius:50%;flex:none;place-items:center;display:grid}.city-ev.k-created .city-ev-dot{background:var(--info-soft);color:var(--info)}.city-ev.k-assign .city-ev-dot{background:var(--gold-soft);color:var(--gold-ink)}.city-ev.s-resolved .city-ev-dot{background:var(--ok-soft);color:var(--ok)}.city-ev.s-rejected .city-ev-dot{background:var(--bad-soft);color:var(--bad)}.city-ev.s-progress .city-ev-dot{background:var(--warn-soft);color:var(--warn)}.city-ev.k-reply .city-ev-dot{background:var(--brand-soft);color:var(--brand)}.city-ev.private{opacity:1}.city-ev.private .city-ev-body{border-left:3px solid var(--line-2);padding-left:10px}.city-ev-body{flex:1;min-width:0}.city-ev-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.city-ev-body p{margin:6px 0 0;line-height:1.55}.city-reply{background:var(--brand-soft);color:var(--ink);border-radius:10px;padding:10px 12px}.city-comments{margin:0 0 14px;padding:0;list-style:none}.city-comments li{border-top:1px solid var(--line);padding:10px 0}.city-comments li:first-child{border-top:0;padding-top:0}.city-comments p{margin:4px 0 0}.city-cform{border-top:1px solid var(--line);padding-top:14px}.city-vote h2{font-size:22px}.city-vote p{margin:6px 0 12px}.city-vote .rx-btn{justify-content:center;width:100%}.city-mini-map{padding:12px;overflow:hidden}.city-queue{overflow:hidden}.city-qtable td{vertical-align:middle}.city-qlink{color:var(--ink);align-items:center;font-weight:600;display:inline-flex}.city-qlink:hover{color:var(--brand)}.rx-table tr.city-over td{background:color-mix(in srgb, var(--bad-soft) 70%, transparent)}.rx-table tr.city-over td:first-child{box-shadow:inset 4px 0 0 var(--bad)}.rx-table tr.city-sel td{background:var(--brand-soft)}.rx-table th[scope=row]{text-align:left;color:var(--ink);text-transform:none;letter-spacing:0;font-size:14px;font-weight:600}.num{text-align:right;font-variant-numeric:tabular-nums}.city-qcards{margin:0;padding:0 12px 12px;list-style:none;display:none}.city-qcards li{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;margin-top:10px;padding:12px;display:flex}.city-qcards li.city-over{border-color:var(--bad);box-shadow:inset 4px 0 0 var(--bad);background:color-mix(in srgb, var(--bad-soft) 60%, transparent)}@media (width<=760px){.city-qtable{display:none}.city-qcards{display:block}}.city-panel{width:min(560px,100vw)}.city-panel h2:focus{outline:none}.city-panel h2:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.city-ptitle{margin:10px 0 4px;font-size:17px}.city-pimg{object-fit:cover;border:1px solid var(--line);border-radius:10px;width:100%;max-height:240px;margin-top:10px}.city-box{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;padding:12px 14px}.city-mini-list{margin:0;padding-left:18px;font-size:13.5px}.city-mini-list li{margin:3px 0}.city-radios{border:0;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;display:flex}.city-radios legend{color:var(--ink-2);margin-bottom:6px;padding:0;font-size:13px;font-weight:600}.city-radios .rx-check{min-height:32px}.city-span2{grid-column:1/-1}.city-chart{margin:0}.city-donut{justify-content:center;display:flex}.city-donut>div{max-width:100%;overflow-x:auto}.city-details{margin-top:12px}.city-details summary{cursor:pointer;color:var(--brand);padding:4px 0;font-size:14px;font-weight:600}.city-details .rx-table-wrap{max-height:340px;margin-top:8px;overflow:auto}.city-code{background:var(--bg-2);border:1px solid var(--line);font:12.5px/1.5 var(--mono);white-space:pre-wrap;word-break:break-all;color:var(--ink);border-radius:10px;margin:0 0 10px;padding:10px 12px}.city-privacy{border-left:4px solid var(--brand)}.city-preview td{white-space:nowrap;font-size:13px}.city-a11y-sec p{margin:8px 0 0;line-height:1.6}.city-a11y-sec .rx-btn{margin-top:12px}.city-ticks{margin:8px 0 0;padding:0;list-style:none}.city-ticks li{gap:10px;padding:7px 0;line-height:1.55;display:flex}.city-ticks svg{color:var(--ok);flex:none;margin-top:3px}.city-bul{margin:8px 0 0;padding-left:20px;line-height:1.6}.city-bul li{margin:4px 0}@media (width<=640px){.city-hero{padding:22px 18px}.city-track.compact{width:100%}.city-track.compact .rx-input{flex:1;min-width:0}.city-hero .rx-btn.lg{justify-content:center;width:100%}.city-filters .rx-field{flex:calc(50% - 6px)}.city-filters .city-f-q{flex-basis:100%}.city-item-side{align-items:flex-end}.city-big-id{font-size:28px}.rx-page-head h1{font-size:24px}}html.lv{--mute:#2b3230;--ink-2:#0f1513;--line:#8e948f;--line-2:#5f6763;--warn:#6e4400;--bad:#8f1f16;--ok:#0e5a37;--info:#1c477f;--brand:#0b4a3a;--gold-ink:#5c430b;--focus:#0f1513}@media (prefers-color-scheme:dark){:root:not([data-theme=light]).lv{--bg:#000;--bg-2:#0b0f0e;--surface:#000;--surface-2:#0b0f0e;--ink:#fff;--ink-2:#fff;--mute:#e2e8e5;--line:#8a9792;--line-2:#c4cdc9;--brand:#6ee0b8;--warn:#ffc56b;--bad:#ff9c90;--ok:#7ff0b4;--info:#a6c8ff;--gold-ink:#ffd889;--focus:#ffe066}}:root[data-theme=dark].lv{--bg:#000;--bg-2:#0b0f0e;--surface:#000;--surface-2:#0b0f0e;--ink:#fff;--ink-2:#fff;--mute:#e2e8e5;--line:#8a9792;--line-2:#c4cdc9;--brand:#6ee0b8;--warn:#ffc56b;--bad:#ff9c90;--ok:#7ff0b4;--info:#a6c8ff;--gold-ink:#ffd889;--focus:#ffe066}html.lv body{font-size:19px;line-height:1.6}html.lv h1,html.lv .rx-page-head h1{font-size:34px}html.lv h2{font-size:24px}html.lv h3,html.lv .city-h3,html.lv .rx-card-head h3{font-size:21px}html.lv .city-h4{font-size:19px}html.lv .rx-small,html.lv .rx-card-head .sub,html.lv .rx-stat .label,html.lv .rx-field>span,html.lv .hint,html.lv .city-label,html.lv .city-sla,html.lv .city-dl dt,html.lv .city-legend,html.lv .city-steps li,html.lv .city-mini-list,html.lv .city-err,html.lv .city-radios legend{font-size:17px}html.lv .rx-badge{height:auto;padding:3px 10px;font-size:15px}html.lv .rx-table{font-size:17px}html.lv .rx-table th{font-size:15px}html.lv .rx-table th[scope=row]{font-size:17px}html.lv .rx-btn{min-height:46px;font-size:17px}html.lv .rx-btn.sm{min-height:40px;font-size:16px}html.lv .rx-input,html.lv .rx-select,html.lv .rx-textarea{border-width:2px;min-height:48px;font-size:18px}html.lv .rx-nav button{padding:9px 13px;font-size:17px}html.lv .rx-seg button{padding:6px 11px;font-size:15px}html.lv .rx-logo{font-size:18px}html.lv .rx-logo small{font-size:14px}html.lv .rx-stat .value{font-size:32px}html.lv .city-id{font-size:16px}html.lv .city-hero p{font-size:19px}html.lv .city-hero{background:#0a3a2e}html.lv .city-code,html.lv .city-preview td,html.lv .rx-demo-strip,html.lv .rx-footer{font-size:15px}html.lv .rx-card,html.lv .rx-stat,html.lv .city-step,html.lv .city-ai,html.lv .city-box,html.lv .city-map{border:2px solid var(--line-2)}html.lv a:not(.rx-btn):not(.rx-logo){text-underline-offset:3px;text-decoration:underline}html.lv :focus-visible,html.lv .rx-nav button:focus-visible,html.lv .rx-seg button:focus-visible,html.lv .rx-icon-btn:focus-visible{outline:4px solid var(--focus);outline-offset:3px}html.lv .city-hero :focus-visible{outline-color:#ffe066}html.lv .rx-nav .on{background:var(--ink);color:var(--surface)}html.lv .rx-badge:before,html.lv .rx-badge{box-shadow:inset 0 0 0 1.5px}html.lv *{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rx-enter{animation:none!important}}.rx-main p a:not(.rx-btn),.rx-main li a.city-inline,.city-dl a{text-underline-offset:2px;text-decoration:underline}@media (prefers-color-scheme:dark){html:not(.lv):not([data-theme=light]) .rx-nav button.on{color:#5fd3aa}}html[data-theme=dark]:not(.lv) .rx-nav button.on{color:#5fd3aa}.rx-table-wrap[role=region]:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.rx-table tbody th[scope=row]{background:0 0}.city-map-card{position:sticky;top:16px}@media (width<=1000px){.city-map-card{position:static}}.city-file-btn{cursor:pointer}.city-file-in:focus-visible+.rx-row .city-file-btn{outline:3px solid var(--focus);outline-offset:2px}@media (width<=1600px){.rx-nav a,.rx-nav button{padding:7px 9px}.rx-logo small{display:none}}.city-span2 .city-chart{max-width:860px;margin:0 auto}.city-span2 .city-chart svg{max-height:none}@media (width<=1600px){html.lv .rx-nav button{padding:9px 11px}}
