*{box-sizing:border-box}body{margin:0;background:#101317;color:#f7f7f8;font-family:Arial,Helvetica,sans-serif}header{height:78px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff12}.brand{font-size:36px;letter-spacing:-2px;font-weight:700}.accent{color:#f36b21}.intro{font-size:14px;color:#c4c8ce;letter-spacing:.04em}main{max-width:1920px;margin:auto}.city{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:16/9;background:#171e27}.city img{display:block;width:100%;height:100%;object-fit:fill;user-select:none;pointer-events:none}.base{position:relative}.layer{position:absolute;inset:0;opacity:0;transition:opacity .45s ease}.layer.active{opacity:1}.regions{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.regions polygon{fill:transparent;pointer-events:all;cursor:pointer}.pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);background:#0c141de8;border:1px solid #ffffff50;border-radius:30px;padding:10px 16px;color:white;font:500 14px Arial;cursor:pointer;box-shadow:0 3px 16px #0005;transition:background .2s,border-color .2s}.pin::before{content:'';display:inline-block;width:6px;height:6px;background:#f36b21;border-radius:50%;margin-right:8px;vertical-align:2px}.pin.active{background:#eb6419;border-color:#ffbd90}.pin.active::before{background:white}button:focus-visible{outline:3px solid #fff;outline-offset:4px}footer{display:flex;align-items:center;justify-content:space-between;padding:22px 4%;gap:20px}.hint{font-size:14px;color:#9da5af;margin:0}nav{display:flex;gap:6px;flex-wrap:wrap}nav button{border:1px solid transparent;background:transparent;color:#aeb4bc;padding:10px 16px;border-radius:24px;font-size:14px;cursor:pointer}nav button.selected{color:white;background:#292e35;border-color:#4a5058}.status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.touch-hint{display:none}@media(max-width:700px){header{height:66px}.brand{font-size:30px}footer{flex-direction:column;align-items:flex-start;padding:20px}.pin{font-size:12px;padding:7px 9px}.pin::before{display:none}nav{gap:3px}nav button{padding:10px 12px}.hint{font-size:14px}.touch-hint{display:inline}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
