:root{--bg:#0a0e14;--panel:#0d1420;--ink:#eef4fb;--body:#c9d4e3;--mut:#5b6b80;--line:#1a2331;--accent:#4fd8eb;--accent2:#f0b34d;--f-display:"Avenir Next", Avenir, -apple-system, sans-serif;--f-body:"Avenir Next", Avenir, -apple-system, sans-serif;--f-data:ui-monospace, Menlo, monospace;--radius:8px;--h1-weight:700;--h1-case:uppercase;--h1-style:normal;--h1-spacing:-.01em;--label-spacing:.2em;--kpi-font:ui-monospace, Menlo, monospace;--texture:none}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--body);font-family:var(--f-body);transition:background .45s,color .45s;position:relative}body:after{content:"";pointer-events:none;background:var(--texture);position:fixed;inset:0}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.wrap{max-width:1180px;margin:0 auto;padding:30px 28px 70px}header{border-bottom:1px solid var(--ink);flex-wrap:wrap;align-items:baseline;gap:18px;padding-bottom:18px;display:flex}h1{font-family:var(--f-display);font-weight:var(--h1-weight);letter-spacing:var(--h1-spacing);text-transform:var(--h1-case);color:var(--ink);font-size:34px}h1 em{font-style:var(--h1-style);color:var(--accent)}.tag{font-family:var(--f-data);letter-spacing:.1em;color:var(--mut);font-size:11.5px}.skins{gap:6px;margin-left:auto;display:flex}.skins button{letter-spacing:.08em;text-transform:uppercase;cursor:pointer;color:var(--mut);border:1px solid var(--line);background:0 0;border-radius:999px;padding:9px 15px;font:600 11.5px/1 Avenir Next,sans-serif;transition:all .25s}.skins button:hover{color:var(--ink);border-color:var(--ink)}.skins button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skins button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.kpis{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);grid-template-columns:repeat(4,1fr);margin-top:22px;transition:background .45s;display:grid;overflow:hidden}.kpi{border-right:1px solid var(--line);padding:20px 22px}.kpi:last-child{border-right:0}.kpi b{font-family:var(--kpi-font);font-weight:var(--h1-weight);color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:var(--h1-spacing);font-size:34px;line-height:1.05;display:block}.kpi b i{color:var(--accent);font-size:.55em;font-style:normal}.kpi span{letter-spacing:var(--label-spacing);text-transform:uppercase;color:var(--mut);margin-top:7px;font:600 10px/1.4 Avenir Next,sans-serif;display:block}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);margin-top:18px;transition:background .45s;overflow:hidden}.panel h3{letter-spacing:var(--label-spacing);text-transform:uppercase;color:var(--mut);border-bottom:1px solid var(--line);padding:14px 18px;font:600 10.5px/1 Avenir Next,sans-serif}.citymap{width:100%;height:400px;display:block}.cap{font-family:var(--f-body);color:var(--mut);border-top:1px solid var(--line);padding:10px 18px 14px;font-size:12.5px;font-style:italic}.row{border-bottom:1px solid var(--line);align-items:center;gap:13px;padding:14px 18px;display:flex}.row:last-child{border-bottom:0}.mark{border-radius:50%;flex:none;width:11px;height:11px}.mark[data-style=glow]{box-shadow:0 0 10px}.mark[data-style=flat]{border-radius:0}.row .nm{font-family:var(--f-display);color:var(--ink);font-size:15px;font-weight:600}:root[data-skin=grid] .row .nm{text-transform:uppercase;font-weight:500}.row .mac{color:var(--mut);font:400 10.5px/1.5 ui-monospace,Menlo,monospace}.row .tk{font-family:var(--f-data);color:var(--accent);font-variant-numeric:tabular-nums;margin-left:auto;font-size:14.5px;font-weight:600}.bars{align-items:flex-end;gap:5px;height:130px;padding:18px;display:flex}.bars i{background:var(--accent);opacity:.9;transform-origin:bottom;border-radius:2px 2px 0 0;flex:1;animation:.7s cubic-bezier(.2,.8,.2,1) backwards rise}.bars i:nth-child(odd){background:var(--accent2);opacity:.35}:root[data-skin=grid] .bars i{border-radius:0}@keyframes rise{0%{transform:scaleY(0)}to{transform:scaleY(1)}}footer{letter-spacing:var(--label-spacing);text-transform:uppercase;color:var(--mut);margin-top:26px;font:600 10px/1.8 Avenir Next,sans-serif}@media (max-width:880px){.wrap{padding:20px 16px 60px}.kpis{grid-template-columns:repeat(2,1fr)}.kpi:nth-child(2n){border-right:0}.kpi{border-bottom:1px solid var(--line)}.main{grid-template-columns:1fr}.citymap{height:46vh}}.realmap{width:100%;height:400px}@media (max-width:880px){.realmap{height:46vh}}.pin{width:var(--pin-size,22px);height:var(--pin-size,22px);background:var(--pin);cursor:pointer;border:2px solid #ffffffd9;border-radius:50%}.pin-glow{box-shadow:0 0 14px var(--pin), 0 0 4px var(--pin)}.pin-engraved{border:2px solid var(--pin);background:0 0}.pin-engraved:after{content:"";background:var(--pin);border-radius:50%;position:absolute;inset:30%}.pin-flat{border-color:#0c0c0c;border-radius:0}.maplibregl-popup-content{background:var(--panel);color:var(--body);border:1px solid var(--line);border-radius:var(--radius);font-family:var(--f-body);padding:12px 14px;box-shadow:0 10px 30px #00000040}.maplibregl-popup-tip{border-top-color:var(--panel)!important}.pop{flex-direction:column;gap:3px;display:flex}.pop b{font-family:var(--f-display);color:var(--ink);font-size:14px}.pop span{color:var(--mut);font-size:11.5px}.pop em{font-style:normal;font-family:var(--f-data);color:var(--accent);font-size:11.5px}.pop a{color:var(--accent);margin-top:6px;font:600 11px/1 Avenir Next,sans-serif;text-decoration:none}.pop a:hover{text-decoration:underline}.sharehdr{letter-spacing:.08em;text-transform:uppercase;cursor:pointer;color:var(--bg);background:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:9px 16px;font:700 11.5px/1 Avenir Next,sans-serif;transition:opacity .2s}.sharehdr:hover{opacity:.85}.panel h3{align-items:center;display:flex}.ranges{gap:4px;margin-left:auto;display:flex}.ranges button{cursor:pointer;color:var(--mut);border:1px solid var(--line);background:0 0;border-radius:999px;padding:5px 10px;font:600 10.5px/1 Avenir Next,sans-serif}.ranges button.on{color:var(--bg);background:var(--ink);border-color:var(--ink)}.shmask{z-index:40;background:#00000080;justify-content:center;align-items:center;padding:18px;animation:.25s veil;display:flex;position:fixed;inset:0}@keyframes veil{0%{opacity:0}}.shbox{background:var(--panel);border:1px solid var(--line);border-radius:16px;flex-direction:column;width:min(480px,100%);max-height:92vh;display:flex;overflow:hidden}.shhead{align-items:center;padding:16px 18px 0;display:flex}.shhead h3{letter-spacing:var(--label-spacing);text-transform:uppercase;color:var(--mut);font:600 11px/1 Avenir Next,sans-serif}.shx{color:var(--mut);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:4px 8px;font-size:16px}.shpicks{flex-wrap:wrap;gap:8px;padding:14px 18px;display:flex}.shpicks label{cursor:pointer;color:var(--mut);border:1px solid var(--line);border-radius:999px;align-items:center;gap:7px;padding:9px 14px;font:600 12px/1 Avenir Next,sans-serif;display:flex}.shpicks label.on{color:var(--ink);border-color:var(--accent)}.shpicks input{accent-color:var(--accent)}.shprev{flex:1;justify-content:center;align-items:flex-start;min-height:160px;padding:0 18px;display:flex;overflow-y:auto}.shprev img{border:1px solid var(--line);border-radius:8px;max-width:100%}.shempty{color:var(--mut);font:400 13px/3 Avenir Next,sans-serif}.shbox .sharebtn{cursor:pointer;background:var(--accent);color:var(--bg);letter-spacing:.06em;border:0;border-radius:12px;justify-content:center;align-items:center;margin:14px 18px 18px;padding:14px;font:700 13px/1 Avenir Next,sans-serif;display:flex}.shbox .sharebtn:disabled{opacity:.45;cursor:default}.authwrap{background:var(--bg);place-items:center;min-height:100dvh;padding:24px;display:grid}.authbox{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius,12px);flex-direction:column;gap:14px;width:min(360px,100%);padding:34px 30px;display:flex}.authbox h1{font-size:26px}.authbox p{color:var(--mut);margin-top:-6px;font-size:13px}.authbox input{font-family:var(--f-data);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:11px 13px;font-size:14px}.authbox input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.authbox button{font-family:var(--f-data);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:var(--ink);color:var(--bg);border:0;border-radius:8px;padding:12px;font-size:12px}.authbox button:disabled{opacity:.5;cursor:default}.autherr{color:var(--accent2);font-size:12.5px;font-family:var(--f-data)}.signout{font-family:var(--f-data);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;color:var(--mut);border:1px solid var(--line);background:0 0;border-radius:999px;margin-left:12px;padding:5px 12px;font-size:10.5px}.signout:hover{color:var(--ink);border-color:var(--ink)}.oauthbtn{font-family:var(--f-data);letter-spacing:.08em;cursor:pointer;color:var(--ink);border:1px solid var(--line);background:0 0;border-radius:8px;padding:12px;font-size:12px}.oauthbtn:hover{border-color:var(--ink)}.authdiv{color:var(--mut);font-size:11px;font-family:var(--f-data);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:12px;display:flex}.authdiv:before,.authdiv:after{content:"";background:var(--line);flex:1;height:1px}.authalt{cursor:pointer;font-size:11.5px;font-family:var(--f-data);text-underline-offset:3px;border:0;padding:2px;text-decoration:underline;color:var(--mut)!important;background:0 0!important}.authalt:hover{color:var(--ink)!important}
