:root{font-family:Georgia,Times New Roman,serif;color:#f8f6e8;color-scheme:dark;background:#90b5ce}*{box-sizing:border-box}body{margin:0;overflow:hidden}canvas{display:block;width:100vw;height:100dvh;touch-action:pan-y}header{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:max(26px,env(safe-area-inset-top)) max(30px,env(safe-area-inset-right));pointer-events:none;transition:opacity 1s}.wordmark{pointer-events:auto;color:inherit;text-decoration:none;font-size:38px;line-height:.8;font-style:italic;text-shadow:0 1px 15px #28484b55}.wordmark span{display:block;font:9px/3 system-ui;letter-spacing:3px;text-transform:uppercase}.controls{display:flex;gap:8px;pointer-events:auto}button{font:16px system-ui;color:inherit;border:1px solid #ffffff35;background:#153f4935;backdrop-filter:blur(14px);border-radius:24px;padding:11px 16px;min-width:44px;min-height:44px;cursor:pointer}button:hover{background:#234a5b70}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #fff;outline-offset:4px}#sound span{font-size:11px;letter-spacing:.5px;margin-left:8px}#caption{position:fixed;bottom:max(36px,env(safe-area-inset-bottom));left:0;right:0;text-align:center;pointer-events:none;font:10px system-ui;letter-spacing:4px;text-shadow:0 1px 10px #000;animation:fade-away 12s forwards}#loading{position:fixed;inset:0;z-index:10;background:linear-gradient(#8cacbf,#c3cec0);display:grid;place-content:center;text-align:center;transition:opacity .8s}#loading.done{opacity:0;pointer-events:none}#loading h1{font-weight:400;font-style:italic;font-size:62px;margin:5px}#loading p{font:12px system-ui;letter-spacing:2px}.sigil{font-size:42px;animation:breathe 2s infinite}dialog{border:1px solid #d6e6e244;border-radius:22px;width:min(360px,calc(100vw - 32px));padding:32px;background:#163c45ed;box-shadow:0 20px 100px #09233066;color:inherit}dialog::backdrop{background:#122b3140;backdrop-filter:blur(5px)}dialog .close{position:absolute;right:10px;top:10px;border:0;background:none}.eyebrow{font:9px system-ui;letter-spacing:2.5px;color:#a8c1bc}h2{font-weight:400;font-size:28px;margin:15px 0 30px}label{display:block;font:12px system-ui;margin-bottom:10px}input{width:100%;border:1px solid #afcfbe55;border-radius:9px;background:#ffffff0a;padding:12px;color:inherit;font:16px system-ui;margin-bottom:18px}.primary{background:#d7dfc9;color:#183a40}form>button{width:100%;margin-bottom:10px;border-radius:10px}.hint{font:12px/1.7 system-ui;color:#bfd0cb}form>a{font:11px system-ui;color:#bfd0cb}#toast{position:fixed;bottom:65px;width:100%;text-align:center;pointer-events:none;font:12px system-ui;text-shadow:0 1px 6px #000}#diagnostics:not([hidden]){position:fixed;bottom:0;left:0;max-width:100%;max-height:40vh;overflow:auto;background:#000b;color:#fff;font:10px monospace;white-space:pre-wrap}body.idle header{opacity:.3}body.idle header:hover,body.idle header:focus-within{opacity:1}@media(max-width:600px){header{padding:22px 18px}.wordmark{font-size:32px}#sound span{display:none}.controls{gap:5px}.controls button{padding:10px 13px}#caption{font-size:8px;letter-spacing:2px;bottom:28px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@keyframes breathe{50%{opacity:.35;transform:translateY(-5px)}}@keyframes fade-away{0%,50%{opacity:.85}to{opacity:0}}#minimap{position:fixed;right:22px;bottom:22px;width:140px;padding:5px 5px 4px;background:#102632a8;border:1px solid #ffffff38;border-radius:12px;pointer-events:none;color:#e8f0ed;box-shadow:0 3px 18px #0002}#minimap canvas{width:140px;height:140px;display:block;border-radius:7px}#minimap small{display:block;text-align:center;font:10px system-ui;margin-top:4px;letter-spacing:.5px}@media(max-width:650px){#minimap{width:96px;right:12px;bottom:max(12px,env(safe-area-inset-bottom))}#minimap canvas{width:96px;height:96px}#minimap small{font-size:9px}#caption{bottom:130px}}#mode{min-width:64px;padding:0 13px;font:12px system-ui;letter-spacing:.4px}#mode[aria-pressed=true]{background:#e8e7c832;color:#fff7ce}#minimap{pointer-events:auto;cursor:pointer;width:150px}#minimap:hover{border-color:#fff9}#minimap small{letter-spacing:0}#earth-map{width:min(1000px,calc(100vw - 24px));max-height:90dvh;padding:25px;overflow:auto;background:#153840f5}#earth-map h2{margin:10px 0 8px}#earth-map canvas{width:100%;height:auto;aspect-ratio:2;border:1px solid #aec6c630;border-radius:10px;margin:15px 0}#earth-map .map-status,#earth-map .map-location,#earth-map .map-key,#earth-map details{font:12px/1.6 system-ui}#earth-map .map-location{color:#e8d8ab}#earth-map .map-key{display:flex;gap:22px;color:#d7ba70}#earth-map .hint{font-size:11px}#earth-map details{margin:16px 0;color:#d1dfd9}#earth-map .export{font-size:12px}@media(max-width:650px){#minimap{width:108px}#earth-map{padding:20px 14px}#earth-map .map-key{gap:12px;font-size:10px}#earth-map h2{font-size:25px}}#landmark{position:fixed;bottom:30px;left:30px;font:italic 19px Georgia;color:#fff8e5;text-shadow:0 2px 12px #142f32;pointer-events:none;letter-spacing:.4px}@media(max-width:650px){#landmark{left:18px;bottom:30px;font-size:16px;max-width:200px}}#earth-map .map-zoom{display:flex;gap:6px;justify-content:flex-end;margin-top:-35px}#earth-map .map-zoom button{font-size:12px;padding:6px 12px;min-height:34px;min-width:34px}@media(max-width:650px){#earth-map .map-zoom{margin-top:12px}}#earth-map canvas{touch-action:none;overscroll-behavior:contain;cursor:grab;user-select:none}#earth-map canvas.dragging{cursor:grabbing}#earth-map .map-zoom{flex-wrap:wrap}#map-gestures{font:11px system-ui;color:#bfd0cb;margin:-7px 0 12px}.map-credits{font:11px system-ui;color:#bfd0cb;margin-left:15px}@media(max-width:650px){#earth-map .map-zoom button{min-height:44px;min-width:44px;padding:6px 10px}}#current-place{position:fixed;left:30px;bottom:62px;max-width:calc(100vw - 210px);font:12px/1.5 system-ui;color:#f8f4e4;text-shadow:0 1px 8px #16333d;pointer-events:none}@media(max-width:650px){#current-place{left:18px;bottom:58px;max-width:calc(100vw - 145px);font-size:11px}}
