.map{position:relative;height:100vh;min-height:620px;overflow:hidden}
.map .paths{position:absolute;inset:0;width:100%;height:100%}
.map .paths path{fill:none;stroke:var(--gold);stroke-opacity:.35;stroke-width:1.4;stroke-dasharray:2 9;stroke-linecap:round;animation:walk 30s linear infinite}
@keyframes walk{to{stroke-dashoffset:-400}}
.center{position:absolute;left:50%;top:50%;transform:translate(-50%,-56%);text-align:center;z-index:5}
.center h1{font-size:clamp(60px,10vw,150px);font-weight:300;letter-spacing:-.01em;text-shadow:0 0 60px rgba(255,179,92,.18)}
.center h1 em{font-weight:500;color:var(--gold-hi)}
.center .sub{font-size:11px;color:var(--parch-mute);margin-top:18px}
.place{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);z-index:6;text-align:center;color:var(--parch);
  padding:18px 26px;border:1px solid transparent;transition:all .6s var(--ease-candle)}
.place span{display:block;font-size:10px;color:var(--gold);letter-spacing:.4em}
.place b{display:block;font:italic 500 clamp(30px,3.6vw,52px)/1 var(--serif)}
.place small{display:block;font:11px var(--caps);letter-spacing:.24em;text-transform:uppercase;color:var(--parch-mute);margin-top:8px}
.place:hover{border-color:var(--line);background:radial-gradient(circle,rgba(255,179,92,.10),transparent 70%);transform:translate(-50%,-54%)}
.place:hover b{color:var(--gold-hi);text-shadow:0 0 24px rgba(255,179,92,.45)}
.minimap{position:fixed;left:26px;bottom:26px;width:96px;height:96px;border-radius:50%;z-index:20;border:1px solid var(--gold);
  background:radial-gradient(circle,rgba(30,24,18,.9),rgba(11,9,7,.95));box-shadow:0 0 0 4px rgba(11,9,7,.6),0 0 0 5px var(--line);overflow:hidden}
.minimap .sweep{position:absolute;inset:0;background:conic-gradient(from 0deg,rgba(255,179,92,.28),transparent 25%);animation:sw 5s linear infinite}
@keyframes sw{to{transform:rotate(360deg)}}
.minimap i{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px;border-radius:50%;background:var(--gold-hi);transform:rotate(var(--a)) translate(30px)}
.minimap span{position:absolute;top:4px;left:50%;transform:translateX(-50%);font-size:9px;color:var(--gold)}
.minimap::after{content:"";position:absolute;left:50%;top:50%;border:6px solid transparent;border-bottom:11px solid var(--parch);transform:translate(-50%,-75%)}
.loading{position:fixed;inset:0;z-index:200;background:#090705;display:flex;flex-direction:column;justify-content:flex-end;padding:7vh 6vw;transition:opacity .8s var(--ease-cine)}
.loading.out{opacity:0}
.ld-tip{font-size:11px;color:var(--parch-dim);margin-bottom:14px}
.ld-bar{height:2px;background:rgba(201,164,92,.15)}.ld-bar i{display:block;height:100%;width:0;background:var(--gold-hi);transition:width 1.3s var(--ease-cine)}
.loading.go .ld-bar i{width:100%}
@media (max-width:700px){.place b{font-size:30px}.minimap{display:none}.place{padding:10px}}
