@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";#app:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,#132d31c9 0%,#152d314d 24%,transparent 46%),linear-gradient(0deg,#152c2966,transparent 17%);z-index:0}#app>header,#app>section,#app>nav,#app>aside,#app>.bottom,#app>footer,#app>#loading,#app>#metrics,#app>#touchmove{z-index:1}:root{font-family:Manrope,Arial,sans-serif;color:#f6f5eb;background:#94a9a4;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #d6f380;outline-offset:5px}#world{display:block;width:100%;height:100dvh;touch-action:none}header{position:absolute;top:32px;left:36px;right:36px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.brand{display:flex;gap:14px;align-items:center;color:inherit;text-decoration:none;pointer-events:auto;font-weight:800;letter-spacing:.14em;font-size:24px;text-shadow:0 1px 16px #122c2b66}.brand-mark{width:48px;height:48px;border:1px solid #ffffff88;display:flex;align-items:center;justify-content:center;font-size:29px;letter-spacing:-.12em;background:#152c2840}.brand-mark span{font-size:10px;margin:17px 0 0 4px;letter-spacing:0}.brand small{display:block;font-size:9px;font-weight:600;letter-spacing:.2em;margin-top:3px}.round{pointer-events:auto;border:1px solid #ffffff88;border-radius:50%;width:38px;height:38px;background:#19332b55;font-family:Georgia;font-style:italic;font-size:20px}.intro{position:absolute;top:149px;left:36px;pointer-events:none;text-shadow:0 2px 20px #15352680}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:700;color:#e1f5b6}h1{font-size:43px;line-height:1.13;letter-spacing:-.055em;font-weight:500;margin:18px 0}p{font-size:12px;line-height:1.8}.intro p{color:#f2f5e7cc}.places{position:absolute;left:36px;top:365px;width:250px;display:flex;flex-direction:column;gap:1px}.places button{height:50px;border:0;background:#17312bd9;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);text-align:left;padding:0 16px;font-size:12px;display:flex;align-items:center;gap:14px}.places button:first-child{border-radius:9px 9px 0 0}.places button:last-child{border-radius:0 0 9px 9px}.places button span{font-size:9px;color:#a5b3a5}.places button.active{background:#d8edaa;color:#17291c}.places button.active span{color:#50603b}.places svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.4;margin-left:auto}.places button:hover{filter:brightness(1.15)}.map-panel{position:absolute;right:36px;bottom:110px;width:210px;border:1px solid #ffffff30;border-radius:10px;background:#142c25d9;padding:15px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.map-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.15em;color:#e5eed7}#minimap{width:180px;height:87px;margin:10px 0}.map-scale{font-size:8px;color:#b7c6b9;letter-spacing:.1em}.bottom{position:absolute;bottom:47px;left:50%;transform:translate(-50%);text-align:center}.toolbar{display:flex;gap:3px;background:#162c26eb;border:1px solid #ffffff25;border-radius:12px;padding:6px;box-shadow:0 10px 32px #152c2430;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.toolbar button{border:0;background:none;padding:11px 13px;border-radius:7px;white-space:nowrap;font-size:16px}.toolbar button span{font-size:11px;margin-left:5px}.toolbar button:hover{background:#ffffff12}.toolbar button.selected{background:#e1edbd;color:#193121}.divider{width:1px;background:#ffffff25;margin:7px 3px}#help{font-size:9px;margin:10px 0 0;color:#fff;text-shadow:0 1px 8px #10251e}footer{position:absolute;left:36px;right:36px;bottom:20px;display:flex;align-items:center;gap:8px;font-size:8px;letter-spacing:.12em;text-shadow:0 1px 5px #20392b}.live-dot{width:5px;height:5px;background:#d8eda5;border-radius:50%}.version{opacity:.6;margin-left:6px}footer button{margin-left:auto;border:0;background:none;font-size:9px;letter-spacing:0;text-decoration:underline;text-underline-offset:3px}#loading{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);background:#17312bed;border:1px solid #ffffff30;padding:20px 28px;border-radius:12px;display:flex;gap:15px;align-items:center;font-size:13px;box-shadow:0 12px 50px #13291d33}#loading[hidden]{display:none}.spinner{width:17px;height:17px;border:2px solid #ffffff33;border-top-color:#d8edaa;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#retry{background:#d8edaa;border:0;border-radius:5px;color:#163021;padding:8px}dialog{width:min(560px,calc(100vw - 32px));border:1px solid #b6c8ae44;border-radius:16px;background:#1b3029;color:#f1f3e8;padding:36px;box-shadow:0 24px 100px #0006}dialog::backdrop{background:#08191480;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}dialog h2{font-size:28px;letter-spacing:-.04em;font-weight:500}dialog h3{font-size:13px;margin-top:25px}dialog p,dialog li{font-size:12px;line-height:1.8}dialog ul{padding-left:18px}dialog a{color:#dbefac}dialog .muted{opacity:.55;font-size:10px}#close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:27px}#metrics{position:absolute;right:36px;top:90px;background:#0009;padding:7px;font:11px monospace}#touchmove{position:absolute;bottom:150px;left:24px;text-align:center}#touchmove button{width:42px;height:42px;background:#142c25b8;border:1px solid #fff4;border-radius:8px;touch-action:none}body.walk .intro,body.walk .places{display:none}body.walk #world{cursor:crosshair}@media (max-width:750px){header{top:20px;left:20px;right:20px}.brand{font-size:19px}.brand small{font-size:7px}.brand-mark{width:38px;height:38px;font-size:25px}.intro{top:100px;left:20px}h1{font-size:29px;margin:12px 0}.intro p{display:none}.places{left:20px;top:209px;width:206px}.places button{height:40px;font-size:10px}.map-panel{right:20px;bottom:143px;width:132px;padding:10px}#minimap{width:110px;height:54px}.map-label,.map-scale{font-size:7px}.bottom{bottom:54px;width:max-content;max-width:96vw}.toolbar button{padding:10px 9px}.toolbar button span{font-size:10px;margin-left:2px}#help{font-size:8px;max-width:330px;margin:10px auto 0}footer{left:20px;right:20px;bottom:16px;font-size:6px}footer button{font-size:8px}#loading{min-width:230px;padding:20px;font-size:11px}.version{display:none}#metrics{top:72px;right:20px;font-size:9px}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}
