:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--sea-deep:#1a5c63;--sea:#2f8f93;--sea-mist:#b7ddd8;--sand:#f3e6d4;--sand-deep:#e2c9a5;--jungle:#244036;--ink:#1c2b26;--coral:#d4785a;--accent:#c45c3e;--paper:#fff8f0eb;--shadow:0 18px 50px #14373c38;--font-display:"Fraunces", "Iowan Old Style", Georgia, serif;--font-body:"Manrope", "Avenir Next", "Segoe UI", sans-serif;font-family:var(--font-body);color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#1a6f8a;font-weight:450;line-height:1.45}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;margin:0}body{overflow:hidden}button{font:inherit;color:inherit}img{max-width:100%;display:block}@media (width<=720px){body{overflow:auto}}.stage{isolation:isolate;background:#1a6f8a;height:100%;min-height:100%;position:relative;overflow:hidden}.waves-bg{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.waves-bg__wash{background:radial-gradient(90% 70% at 50% 30%,#78d2e640,#0000 65%),linear-gradient(#1a6f8a 0%,#1f7a90 40%,#186878 100%);position:absolute;inset:0}.waves-bg__svg{width:100%;height:100%;position:absolute;inset:0}.waves-bg__layer{transform-origin:bottom;animation:14s ease-in-out infinite alternate waveDrift}.waves-bg__layer--b{animation-duration:18s;animation-delay:-4s}.waves-bg__layer--c{animation-duration:22s;animation-delay:-8s}.waves-bg__lines{opacity:.22;background-image:repeating-linear-gradient(-8deg,#0000 0 18px,#ffffff0f 18px 20px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 35% 100%);mask-image:linear-gradient(#0000 0%,#000 35% 100%)}@keyframes waveDrift{0%{transform:translate(-2%)translateY(0)}to{transform:translate(2%)translateY(-1.5%)}}.map-shell{z-index:1;height:auto;padding:0;position:absolute;inset:0}.brand{z-index:20;max-width:min(18rem,40vw);color:var(--ink);pointer-events:none;background:#fff8f0;border:2px solid #1c2b26;padding:.75rem .9rem;animation:.7s both rise;position:absolute;top:clamp(.8rem,2vw,1.4rem);left:clamp(.8rem,2vw,1.6rem);box-shadow:4px 4px #1c2b26}.brand__domain{font-family:var(--font-display);letter-spacing:-.03em;color:#1f6f78;margin:0 0 .2rem;font-size:clamp(1.35rem,2.8vw,1.9rem);font-weight:600;line-height:1.05}.brand h1{font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:#c45c3e;margin:0;font-size:.78rem;font-weight:700}.brand__lead{color:#355048;max-width:28ch;margin:.45rem 0 0;font-size:.82rem;line-height:1.4}.map-viewport{z-index:1;width:100%;height:100%;position:relative}.map-viewport__stage{cursor:grab;touch-action:none;width:100%;height:100%;overflow:hidden}.map-viewport__stage:active{cursor:grabbing}.map-viewport__world{transform-origin:0 0;will-change:transform;filter:drop-shadow(0 18px 28px #00000059);width:900px;height:1400px}.island-map{background:0 0;width:900px;height:1400px;display:block;overflow:visible}.island-map__district{cursor:pointer;outline:none}.island-map__hit{pointer-events:all;cursor:pointer}.island-map__district:focus-visible .island-map__border{stroke:#fff8f0;stroke-width:3px}.island-map__art{pointer-events:none}.island-map__wash{pointer-events:none;transition:opacity .2s}.island-map__district:hover .island-map__wash,.island-map__district.is-active .island-map__wash{opacity:.12}.island-map__border{pointer-events:none;transition:stroke .2s,stroke-width .2s}.island-map__label{fill:#fff8f0;font-family:var(--font-body);letter-spacing:.02em;pointer-events:none;paint-order:stroke;stroke:#1c2b26bf;stroke-width:3.5px;font-size:13px;font-weight:750}.map-viewport__controls{z-index:20;gap:.35rem;display:grid;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.map-viewport__controls button{color:#1c2b26;cursor:pointer;background:#fff8f0;border:2px solid #1c2b26;width:2.4rem;height:2.4rem;font-size:1.25rem;font-weight:700;line-height:1;box-shadow:3px 3px #1c2b26}.map-viewport__controls button:active{transform:translate(1px,1px);box-shadow:2px 2px #1c2b26}.map-viewport__hint{color:#355048;white-space:nowrap;pointer-events:none;z-index:20;background:#fff8f0;border:1.5px solid #1c2b26;margin:0;padding:.35rem .7rem;font-size:.75rem;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.legend{z-index:20;pointer-events:none;background:#fff8f0;border:2px solid #1c2b26;width:min(11.5rem,38vw);padding:.85rem .95rem;animation:.8s .1s both rise;position:absolute;bottom:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2.2rem);box-shadow:4px 4px #1c2b26}.legend__title{font-family:var(--font-display);margin:0 0 .4rem;font-size:1.05rem}.legend ul{color:#355048;gap:.2rem;margin:0;padding:0;font-size:.8rem;list-style:none;display:grid}.legend__hint{opacity:.7;margin:.65rem 0 0;font-size:.7rem}.popup-backdrop{z-index:30;cursor:pointer;background:#122a2e47;border:0;animation:.2s both fade;position:fixed;inset:0}.district-popup{top:var(--popup-y,12vh);left:var(--popup-x,50%);z-index:40;background:#fff8f0;border:2.5px solid #1c2b26;border-radius:28px;width:min(320px,100vw - 2rem);max-height:calc(100vh - 1.5rem);animation:.28s cubic-bezier(.22,1,.36,1) both pop;position:fixed;overflow:visible auto;box-shadow:0 14px 36px #0c282d38,4px 4px #1c2b261f}.district-popup__tail{background:#fff8f0;border-bottom:2.5px solid #1c2b26;border-left:2.5px solid #1c2b26;border-radius:0 0 0 4px;width:18px;height:18px;position:absolute;top:42px;left:-10px;transform:rotate(45deg)}.district-popup__close{z-index:1;color:#1c2b26;cursor:pointer;background:#fff8f0;border:2px solid #1c2b26;border-radius:999px;width:1.85rem;height:1.85rem;font-size:1.15rem;line-height:1;position:absolute;top:.55rem;right:.55rem}.district-popup__body{padding:.85rem .9rem .95rem}.district-popup__tagline{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:0;padding-right:1.6rem;font-size:.7rem;font-weight:650}.district-popup h2{font-family:var(--font-display);letter-spacing:-.02em;margin:.15rem 0 .35rem;font-size:1.25rem;line-height:1.15}.district-popup__desc{color:#314740;margin:0;font-size:.8rem;line-height:1.35}.district-popup__meta{color:#4d655c;flex-wrap:wrap;gap:.25rem .65rem;margin:.55rem 0 .45rem;font-size:.72rem;display:flex}.district-popup__meta span:first-child{color:var(--jungle);font-weight:650}.district-popup__taxi{background:#2f8f9314;border:1.5px dashed #1c2b2647;border-radius:14px;gap:.2rem;margin:0 0 .55rem;padding:.45rem .55rem;display:grid}.district-popup__taxi p{color:#3d564d;justify-content:space-between;align-items:center;gap:.75rem;margin:0;font-size:.72rem;display:flex}.district-popup__taxi p span{align-items:center;gap:.35rem;display:inline-flex}.district-popup__taxi strong{color:#1c2b26;white-space:nowrap;font-weight:700}.taxi-dot{border:1px solid #1c2b26;border-radius:50%;flex-shrink:0;width:.55rem;height:.55rem;display:inline-block}.taxi-dot--airport{background:#2f6f9e}.taxi-dot--ru-embassy{background:#8b4d9a}.taxi-dot--bangla{background:#c45c3e}.taxi-dot--old-town{background:#b5894f}.legend__pins{gap:.35rem!important}.legend__pins li{align-items:center;gap:.4rem;display:flex}.map-landmark__glyph{fill:#1c2b26;font-family:var(--font-body);pointer-events:none;font-size:5.5px;font-weight:800}.map-landmark__glyph--sm{font-size:4.2px}.map-landmark__label{fill:#1c2b26;font-family:var(--font-body);pointer-events:none;font-size:8px;font-weight:700}.district-callout__label{fill:#1c2b26;font-family:var(--font-body);pointer-events:none;font-size:9px;font-weight:750}.district-popup__scores{gap:.28rem;display:grid}.score-bar__meta{color:#3d564d;justify-content:space-between;gap:.75rem;font-size:.7rem;display:flex}.score-bar__value{font-variant-numeric:tabular-nums;opacity:.7}.score-bar__track{grid-template-columns:repeat(5,1fr);gap:.18rem;margin-top:.15rem;display:grid}.score-bar__seg{background:#2440361f;border:1px solid #1c2b261f;border-radius:99px;height:5px}.score-bar__seg.is-on{background:linear-gradient(90deg,#2f8f93,#c45c3e);border-color:#1c2b26}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (width<=720px){.brand{pointer-events:none;max-width:calc(100vw - 5.5rem)}.legend{display:none}.map-viewport__hint{white-space:normal;text-align:center;max-width:calc(100vw - 6rem);font-size:.68rem;bottom:.6rem}.district-popup{border-radius:24px 24px 20px 20px;width:min(360px,100vw - 1.25rem);max-height:min(78vh,560px);animation:.3s cubic-bezier(.22,1,.36,1) both sheet;bottom:.65rem;overflow:auto;transform:translate(-50%);top:auto!important;left:50%!important}.district-popup__tail{display:none}@keyframes sheet{0%{opacity:0;transform:translate(-50%,24px)}to{opacity:1;transform:translate(-50%)}}}
