#world{width:2864px!important;height:2864px!important;--map-scale:1}
#composition,#town{position:absolute;left:0;top:0;width:2864px;height:2864px}
#composition{z-index:0;pointer-events:none;isolation:isolate}
#town{z-index:50}
.psd-layer{position:absolute;display:block;max-width:none;pointer-events:none;user-select:none}
#ocean{position:absolute;inset:0;width:2864px;height:2864px;z-index:1;pointer-events:none}
#ocean[hidden]{display:none}
#viewport{background:#55bafd}
#town #spots{z-index:1}
.landmark-sprite,.landmark-sprite:hover,.landmark-sprite:focus-visible,.landmark-sprite.selected{transform:none;transition:none;filter:none;border-radius:0;padding:0;border:0;background:none;touch-action:none}
.landmark-sprite::before,.landmark-sprite.selected::before,.landmark-sprite.visited::after{display:none}
.landmark-sprite:focus-visible{outline:calc(2px / var(--map-scale)) solid #fff;outline-offset:calc(3px / var(--map-scale))}
/* Names are part of the launch map language: visible from the start, but visually quiet. */
.landmark-sprite .sprite-label{opacity:.92;top:100%;font-size:calc(10px / var(--map-scale));padding:calc(4px / var(--map-scale)) calc(7px / var(--map-scale));border-width:calc(1.5px / var(--map-scale));border-radius:calc(9px / var(--map-scale));box-shadow:0 calc(2px / var(--map-scale)) 0 rgba(36,24,36,.75);max-width:none;background:rgba(255,245,232,.91);backdrop-filter:blur(4px);transition:opacity .15s ease,background .15s ease,transform .15s ease}
.landmark-sprite:hover .sprite-label,.landmark-sprite:focus-visible .sprite-label,.landmark-sprite.selected .sprite-label{opacity:1;background:#ffb6d1;transform:translateX(-50%) translateY(calc(-2px / var(--map-scale)))}
.landmark-sprite.locked .sprite-label{background:rgba(231,222,228,.92);color:#746875}
.landmark-sprite .sprite-label small{font-size:.72em;margin-left:.35em;opacity:.78}
.composition-control{width:100%;border:2px solid var(--ink);border-radius:12px;background:#fff;padding:10px;margin:7px 0;text-align:left;cursor:pointer}
.road-directory-title{margin-top:24px;font-size:18px}
.panel{visibility:hidden}.panel.open{visibility:visible}
@media(max-width:820px){
  .landmark-sprite .sprite-label{font-size:calc(9px / var(--map-scale));padding:calc(3px / var(--map-scale)) calc(5px / var(--map-scale));border-width:calc(1.25px / var(--map-scale));}
}
