@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600&display=swap";:root{color:#213d3c;font-synthesis:none;text-rendering:optimizelegibility;background:#c8e1e2;font-family:Manrope,Noto Serif JP,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{min-width:320px}#app{isolation:isolate;background:linear-gradient(#d1e7e4,#b2d4d0 55%,#a2c5bc);position:relative}@supports (height:100dvh){#app{height:100dvh}}#scene{touch-action:none;cursor:grab;width:100%;height:100%;display:block;position:absolute;inset:0}#scene:active{cursor:grabbing}.masthead{z-index:2;pointer-events:none;text-shadow:0 1px 18px #e9f4ed99;position:absolute;top:clamp(28px,6vh,70px);left:clamp(28px,7vw,102px)}.eyebrow,.location,.camera-hint{letter-spacing:.19em;font:500 10px DM Mono,monospace}.eyebrow{color:#597a70}.masthead h1{letter-spacing:.01em;color:#284944;margin:12px 0 6px;font-family:Noto Serif JP,Georgia,serif;font-size:clamp(32px,4.1vw,56px);font-weight:500;line-height:1.05}.masthead h1 i{color:#b27855;font-family:Manrope,sans-serif;font-size:.58em;font-style:normal;font-weight:400}.masthead p{color:#526e68;letter-spacing:.03em;margin:0;font-size:13px}.location{left:calc(clamp(28px,7vw,102px) + env(safe-area-inset-left,0px));bottom:calc(82px + env(safe-area-inset-bottom,0px));color:#4b6d66;letter-spacing:.16em;font-size:9px;position:absolute}.location b{color:#b17e54;margin:0 7px}.dot{vertical-align:1px;background:#b17e54;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block}.controls{z-index:3;right:calc(clamp(22px,5vw,74px) + env(safe-area-inset-right,0px));bottom:calc(54px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f0e7e8;border:1px solid #fff9;border-radius:999px;align-items:center;gap:8px;padding:8px;display:flex;position:absolute;box-shadow:0 9px 30px #31534717}button{appearance:none;color:#36564e;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:9px 14px;font:600 11px Manrope,sans-serif;transition:background .18s,color .18s,transform .18s}button:hover{color:#25483f;background:#dce7de}button:active{transform:translateY(1px)}button[aria-pressed=true]{color:#fff;background:#315d51}.divider{background:#c8d1c7;width:1px;height:19px;margin:0 2px}.camera-hint{right:calc(clamp(26px,5vw,76px) + env(safe-area-inset-right,0px));bottom:calc(124px + env(safe-area-inset-bottom,0px));color:#58766e;letter-spacing:.17em;font-size:9px;position:absolute}.camera-hint span{color:#bf8b60}.progress{background:#aecbc2;height:3px;position:absolute;bottom:0;left:0;right:0}.progress span{opacity:.8;background:#bf8b60;width:24%;height:100%;display:block}.loading,.error{z-index:4;color:#395b52;background:#f3eee4e8;border:1px solid #fff9;border-radius:999px;padding:12px 18px;font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 30px #183c3230}.error{color:#7d3f32;border-radius:12px;max-width:min(90vw,680px)}.nav-label{letter-spacing:.14em;color:#6d857c;text-transform:uppercase;padding:0 3px;font:500 9px DM Mono,monospace}.destinations,.inspection{display:contents}[hidden]{display:none!important}@media (width<=900px){.nav-label{display:none}}@media (width<=650px){.masthead{top:calc(env(safe-area-inset-top,0px) + 28px)}.masthead p{max-width:260px;font-size:12px}.controls{left:calc(12px + env(safe-area-inset-left,0px));right:calc(12px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));white-space:normal;border-radius:22px;flex-wrap:wrap;justify-content:center;gap:4px;max-width:calc(100vw - 24px);padding:6px;transform:none}.controls button{min-width:44px;min-height:44px;padding:8px 9px;font-size:10px}.destinations{flex:0 0 100%;order:-1;justify-content:center;gap:2px;display:flex}.controls .divider,#mute{display:none}.location{left:calc(16px + env(safe-area-inset-left,0px));bottom:calc(138px + env(safe-area-inset-bottom,0px));font-size:8px}.camera-hint{display:none}}@media (pointer:coarse){button{min-width:44px;min-height:44px}}@media (height<=520px){.location{left:auto;right:calc(14px + env(safe-area-inset-right,0px));top:calc(12px + env(safe-area-inset-top,0px));font-size:8px;bottom:auto}}@media (prefers-reduced-motion:reduce){button{transition:none}}
