:root{color-scheme:dark;--bg:#101a28;--panel:#192538;--line:#34445c;--text:#f7f0dc;--muted:#9caac1;--mint:#88ebc5}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:ui-sans-serif,system-ui,Segoe UI,sans-serif;background:var(--bg);color:var(--text);display:grid;grid-template-rows:92px minmax(0,1fr) 43px}button,input{font:inherit}button{cursor:pointer;color:inherit;background:#1d2b40;border:1px solid #45536d;border-radius:10px;padding:10px 18px;font-size:14px}button:hover{border-color:var(--mint);background:#283c4e}button:focus-visible,input:focus-visible{outline:2px solid var(--mint);outline-offset:3px}header{display:flex;justify-content:space-between;align-items:center;padding:16px 30px;border-bottom:1px solid #263447;gap:16px;z-index:5;background:#101a28}.brand{display:flex;align-items:center;gap:14px}.emblem{font-size:37px;color:var(--mint);text-shadow:3px 3px #2e5d58}h1{font-family:ui-monospace,Consolas,monospace;font-size:21px;letter-spacing:1px;margin:0;font-weight:900}h1 span{font-size:13px;color:var(--mint);display:block;margin-top:3px;letter-spacing:4px}.brand p{margin:4px 0 0;font-size:12px;color:var(--muted)}.brand b{padding:0 6px;color:#6b7d96}nav{display:flex;gap:9px}nav .active{background:var(--mint);color:#102a2c;border-color:var(--mint);font-weight:700}main{position:relative;min-height:0;isolation:isolate;background:radial-gradient(ellipse at 50% 45%,#1d2b3d 0,#121c2c 65%,#101826 100%)}canvas,#markers{position:absolute;inset:0;width:100%;height:100%}#terrain{z-index:0}#play{z-index:2;pointer-events:none}#markers{z-index:3;pointer-events:none}.worldtag{position:absolute;left:30px;top:26px;pointer-events:none}.worldtag span{font-size:10px;letter-spacing:2px;color:#8d9db4}.worldtag strong{display:block;font-family:ui-monospace,monospace;font-size:15px;line-height:1.7;margin-top:10px;font-weight:500;color:#d0d5db}.compass{position:absolute;right:32px;top:24px;color:#acbad0;font:12px monospace;text-align:center;pointer-events:none}.compass span{display:block;font-size:35px}.marker{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;border:2px solid #fff5d6;border-radius:50%;width:28px;height:28px;padding:0;background:var(--color);box-shadow:0 3px 0 #08101dbb;display:grid;place-items:center;font-size:15px;transition:opacity .2s,scale .15s}.marker:hover,.marker.selected{scale:1.25;z-index:5;box-shadow:0 0 0 4px #f7efd322}.marker .label{display:none;position:absolute;bottom:34px;left:50%;transform:translateX(-50%);background:#111d2df5;padding:8px 12px;border:1px solid #65758d;border-radius:6px;color:#fff;font:13px system-ui;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis}.marker:hover .label,.marker:focus-visible .label{display:block}.marker.dim{opacity:.12;pointer-events:none}.walk{position:absolute;bottom:24px;left:26px;display:flex;align-items:center;gap:14px;z-index:4}.walk strong{font-size:13px}.walk p{font-size:12px;color:#9aacc6;margin:5px 0}.pad{width:114px;display:flex;align-items:center;flex-direction:column;gap:3px}.pad div{display:flex;gap:3px}.pad button{width:34px;height:30px;padding:0;touch-action:none;border-radius:6px;font-size:13px;background:#202c40}.pad #home{color:var(--mint)}.scale{position:absolute;right:28px;bottom:29px;color:#9fadc4;font:12px monospace}#bar{height:6px;border:1px solid #aebad0;border-top:none;margin-bottom:7px;max-width:100px}footer{display:flex;align-items:center;gap:9px;padding:0 28px;background:#111b2a;border-top:1px solid #29354b;color:#a6b6ce;font-size:12px}.source-dot{width:6px;height:6px;background:var(--mint);border-radius:50%}.divider{color:#526079;padding:0 5px}footer button{border:0;background:none;padding:0;color:#cbd8eb;font-size:12px;margin-left:auto}.version{font-family:monospace;margin-left:18px;color:#667b99}aside{position:absolute;right:18px;top:16px;bottom:16px;width:304px;padding:18px;z-index:9;background:#142033f5;border:1px solid #52617b;border-radius:16px;box-shadow:0 20px 65px #0007;backdrop-filter:blur(14px);display:flex;flex-direction:column}aside[hidden]{display:none}.panelhead{display:flex;align-items:center;justify-content:space-between}.panelhead h2{font-size:17px;margin:0}.panelhead button{padding:0;width:28px;height:28px;font-size:22px;border:0;background:none}.search{display:flex;gap:8px;padding:10px 12px;background:#0c1525;border:1px solid #3b4a63;border-radius:8px;margin:17px 0}.search input{width:100%;background:none;border:0;color:#eee;font-size:14px;outline:none}#categories{display:grid;grid-template-columns:1fr 1fr;gap:7px}.cat{font-size:12px;text-align:left;padding:8px 7px;display:flex;gap:6px;align-items:center;border-radius:7px}.cat.on{border-color:#6e9e9b;background:#294444}.cat b{margin-left:auto;color:#9fb1c8;font-size:10px;font-weight:500}.results{min-height:0;overflow:auto;margin-top:16px;padding-right:3px}#count{font-size:12px;color:#a8b6cc}#list{display:grid;margin-top:8px;gap:4px}#list button{text-align:left;border:0;background:#223149;padding:9px 10px;font-size:13px;border-radius:6px}#list button:hover{background:#354660}#detail{position:absolute;left:28px;top:115px;background:#142033f5;border:1px solid #59708b;border-radius:13px;width:285px;padding:18px;z-index:8;box-shadow:0 15px 45px #0005}#detail h2{font-size:18px;margin:10px 0}#detail p{font-size:13px;line-height:1.6;color:#aebece}#detail small{color:var(--mint);font-size:11px;letter-spacing:1px;text-transform:uppercase}#detail .x{float:right;border:none;background:none;padding:0;font-size:20px}dialog{max-width:620px;width:calc(100% - 30px);max-height:85vh;overflow:auto;border:1px solid #5f748b;border-radius:18px;padding:32px;background:#162337;color:#e9efef;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#050c17bb;backdrop-filter:blur(5px)}dialog #dismiss{float:right;border:0;background:none;font-size:24px;padding:0}dialog small{color:var(--mint);font:12px monospace;letter-spacing:1px}dialog h2{font-size:26px}dialog p,dialog li,dialog dd{font-size:14px;line-height:1.6;color:#b3c1d5}dialog dt{font-size:14px;color:#fff;margin-top:10px}dialog dd{margin:3px 0 0}dialog h3{font-size:16px}dialog ul{padding-left:20px}.note{background:#22324b;padding:13px;border-radius:8px}#download{background:var(--mint);color:#123239;border:0;font-weight:700}.empty{padding:12px 0;color:#a5b3c7;font-size:13px;line-height:1.6}@media(max-width:700px){body{grid-template-rows:83px minmax(0,1fr) 42px}header{padding:12px 15px}.brand{gap:7px}.emblem{font-size:24px}h1{font-size:15px}h1 span{font-size:9px;letter-spacing:2px}.brand p{font-size:10px}nav{gap:4px}nav button{padding:8px 10px}nav #filters span{display:none}.worldtag{left:18px;top:18px}.worldtag strong{font-size:12px}.walk{left:12px;bottom:14px;gap:8px}.walk p{max-width:90px;font-size:10px}.walk strong{font-size:11px}.scale{right:15px;bottom:24px}footer{padding:0 12px;font-size:10px;gap:5px}footer button{font-size:10px}.version{display:none}aside{right:10px;top:10px;bottom:10px;width:min(304px,calc(100% - 20px))}.marker{width:24px;height:24px;font-size:12px}#detail{left:14px;top:83px;width:250px}.compass{right:15px;top:15px}.worldtag span{font-size:9px}}

.marker[hidden]{display:none}.cat{font-size:14px}#list button{font-size:14px}.worldtag span{font-size:12px}.marker{border-radius:5px;image-rendering:pixelated}

#world{overflow:hidden;touch-action:none;cursor:grab}#world.dragging{cursor:grabbing}.zoom-controls{position:absolute;right:24px;top:104px;z-index:7;display:flex;flex-direction:column;align-items:center;gap:5px;background:#142033ed;padding:7px;border:1px solid #52617b;border-radius:12px}.zoom-controls button{width:44px;height:42px;padding:0;font-size:25px}.zoom-controls output{font:12px monospace;padding:4px}.zoom-controls button:disabled{opacity:.35;cursor:default}.map-hint{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-size:12px;color:#b4c5d8;pointer-events:none;white-space:nowrap}.scale{display:none}#markers{overflow:hidden}aside,#detail{cursor:default;touch-action:pan-y}@media(max-width:700px){.zoom-controls{right:12px;top:82px}.map-hint{bottom:8px;left:auto;right:12px;transform:none;white-space:normal;max-width:150px;font-size:12px;text-align:right}.worldtag strong{display:none}}

.featured{display:flex;gap:7px;margin-top:12px;pointer-events:auto}.featured button{font-size:12px;padding:8px 12px;background:#192c38e8;border-color:#617c73}.direction-controls{position:absolute;right:24px;top:326px;z-index:6;display:grid;justify-items:end;gap:7px;max-width:170px;text-align:right}.direction-controls button{padding:9px 12px;font-size:12px}.direction-controls button[aria-pressed="true"]{border-color:#88ebc5;color:#b6ffe1;background:#23423f}.direction-controls span{font-size:10px;line-height:1.5;color:#b4c5d8;background:#132134d9;border-radius:4px;padding:4px 6px;pointer-events:none}#detail{max-height:calc(100% - 145px);overflow:auto;scrollbar-width:thin}#detail.landmark-card{width:305px}#detail .precision{font-size:12px;color:#e1ddc5;border-bottom:1px solid #3d5060;padding-bottom:13px}.focus-place{width:100%;font-size:13px;color:#bbf9dc;border-color:#6c9a88;background:#253f3c}.landmark-content dl{margin:17px 0}.landmark-content dt{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#89bfa9;margin-top:13px}.landmark-content dd{margin:5px 0 0;font-size:12px;line-height:1.6;color:#d2dce0}.landmark-content h3{font-size:13px;margin:18px 0 10px}.level-tabs{display:flex;gap:6px}.level-tabs button{flex:1;padding:7px;font-size:12px;border-radius:7px}.level-tabs button.active{background:#eed0e6;color:#4d294e;border-color:#eed0e6}.level-list{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:12px 0}.level-list li{font-size:12px;background:#31405a;padding:7px 9px;border-radius:5px}#detail p.detail-note{font-size:11px;line-height:1.6;color:#98afbf}.landmark-content a,dialog a{color:#a5ebd0;text-underline-offset:3px}.landmark-content a{display:block;font-size:11px;margin:10px 0}#detail[hidden]{display:none}@media(max-width:700px){.featured{margin-top:9px;gap:5px}.featured button{padding:7px 9px;font-size:11px}.direction-controls{right:12px;top:305px;max-width:125px}.direction-controls span{font-size:9px}.direction-controls button{padding:8px 9px}#detail.landmark-card{top:auto;left:12px;right:12px;bottom:115px;width:auto;max-height:38%;padding:15px}#detail.landmark-card h2{font-size:17px}.worldtag span{font-size:9px;letter-spacing:1px}}
