:root{font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,system-ui,sans-serif;color:#203c36;font-synthesis:none;font-weight:500;background:#cce6ed}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,#viewport:focus-visible{outline:3px solid #ff8b42;outline-offset:5px}button{border:0}button[hidden],[hidden]{display:none!important}#viewport{position:absolute;inset:0;touch-action:none}#viewport canvas{display:block;width:100%;height:100%}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(241,248,245,.75),transparent 23%,transparent 78%,rgba(7,41,45,.2))}.topbar{position:absolute;top:30px;left:36px;right:36px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:#183b32;font-size:17px;font-weight:850;letter-spacing:2px}.brand-mark{font-size:44px;letter-spacing:-9px;line-height:1;font-weight:950;position:relative;padding-right:10px}.brand-mark span{font-size:29px;color:#ed804b;position:relative;top:-15px;left:-1px}.brand small{display:block;font-size:7px;letter-spacing:1.65px;font-weight:650;margin-top:5px}.location{display:flex;align-items:center;gap:11px;font-size:12px;font-weight:700;padding:11px 18px;background:#ffffffa6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #fff9;border-radius:30px}.location small{display:block;font-size:8px;letter-spacing:2px;margin-top:4px;opacity:.55}.location-dot{height:8px;width:8px;border-radius:50%;background:#589368;box-shadow:0 0 0 4px #5893681a}.icon-button{width:40px;height:40px;border-radius:50%;background:#fffd;display:grid;place-items:center;font-size:23px;box-shadow:0 2px 12px #24443f08;transition:background .2s,transform .2s}.icon-button:hover{background:#fff;transform:translateY(-2px)}#help-button{font:600 17px Georgia,serif}.intro{position:absolute;left:40px;top:123px;pointer-events:none;text-shadow:0 1px 16px #eff8eef0}.eyebrow{font-size:9px;letter-spacing:2.6px;font-weight:750;color:#456354}.intro h1{font-size:clamp(23px,3.1vw,41px);font-weight:650;line-height:1.65;letter-spacing:3px;margin:13px 0 10px}.intro h1 span{color:#31644b}.intro p{font-size:11px;letter-spacing:2px;color:#547166}.toolbar{position:absolute;right:27px;top:50%;transform:translateY(-40%);display:flex;flex-direction:column;align-items:center;padding:7px;gap:4px;border:1px solid #fff9;border-radius:29px;background:#fcfff7e8;box-shadow:0 5px 30px #16383512;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.toolbar .icon-button{background:transparent;box-shadow:none}.toolbar .active{background:#e1ece0;color:#367d52}.divider{height:1px;width:22px;background:#d6ded5;margin:3px}.quality-button{background:transparent;font-size:10px;border-radius:12px;padding:8px 4px}.compass{position:absolute;right:42px;bottom:160px;display:flex;flex-direction:column;align-items:center;color:#244c3f;font-size:10px;gap:3px}.compass svg{width:28px;height:28px;transform:rotate(-16deg)}.explore-strip{position:absolute;bottom:49px;left:35px;right:35px;display:flex;align-items:center;gap:24px;padding:15px 19px;border-radius:15px;background:#fffffff2;border:1px solid #fff;box-shadow:0 6px 30px #203d3722;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.strip-title{min-width:169px}.strip-title>span{font-size:12px;font-weight:700}.strip-title small{display:block;letter-spacing:1.3px;font-size:7px;color:#80928a;margin-top:7px}.spot-list{display:flex;flex:1;gap:9px;overflow-x:auto;scrollbar-width:none}.spot{display:flex;align-items:center;gap:10px;padding:10px 13px;border-radius:9px;background:#f4f6ef;white-space:nowrap;text-align:left;flex:1;transition:background .2s}.spot:hover,.spot.selected{background:#e1ebde}.spot .spot-icon{height:33px;width:33px;background:#fff;border-radius:9px;display:grid;place-items:center;color:var(--spot-color)}.spot svg{width:21px;height:21px}.spot strong{font-size:11px;font-weight:700}.spot small{display:block;font-size:8px;margin-top:4px;color:#7a8c80;letter-spacing:.6px}.footer{position:absolute;bottom:17px;left:39px;right:36px;font-size:9px;color:#fff;display:flex;justify-content:space-between;align-items:center;text-shadow:0 1px 5px #00364480}.footer>span{display:flex;align-items:center;gap:7px}.live-dot{height:5px;width:5px;display:inline-block;background:#d9f0ad;border-radius:50%}.footer-separator{opacity:.5;margin:0 5px}.footer button{background:transparent;font-size:9px;color:inherit;text-shadow:inherit}.poi-label{position:absolute;left:0;top:0;display:flex;align-items:center;gap:0;white-space:nowrap;background:transparent;padding:0;transform-origin:center bottom;pointer-events:auto;filter:drop-shadow(0 3px 5px #10282c28);transition:opacity .2s;will-change:transform}.poi-label .pin{position:relative;display:grid;place-items:center;width:39px;height:39px;background:var(--spot-color);border:4px solid #fff;border-radius:50% 50% 50% 5px;transform:rotate(-45deg);z-index:1}.poi-label .pin svg{width:21px;height:21px;transform:rotate(45deg);color:#fff}.poi-label .label-text{background:#173c37ed;border:1px solid #ffffff44;color:#fff;font-size:11px;letter-spacing:.7px;padding:8px 11px 8px 15px;border-radius:0 6px 6px 0;margin-left:-8px}.poi-label:hover .label-text,.poi-label.selected .label-text{background:#fff;color:#163c32}.poi-label.selected{z-index:100!important}.poi-card{position:absolute;left:35px;bottom:153px;width:310px;background:#fffffff7;border:1px solid white;border-radius:18px;padding:24px;box-shadow:0 12px 55px #183b3633;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.poi-card .close-card{position:absolute;right:11px;top:9px;background:transparent;font-size:24px}.poi-card .card-category{font-size:9px;letter-spacing:2px;color:#65876e}.poi-card h2{font-size:21px;margin:12px 0 4px;font-weight:700}.poi-card .english{font-size:9px;color:#849087;letter-spacing:1px}.poi-card p{font-size:12px;line-height:1.9;color:#52675b;margin:18px 0}.poi-card .coordinate{font-family:monospace;font-size:10px;color:#7c8f82;margin-bottom:15px}.poi-card a{display:block;text-decoration:none;text-align:center;background:#284e3e;color:#fff;padding:12px;border-radius:8px;font-size:11px}.poi-card .card-note{font-size:9px;margin:12px 0 0;color:#89978e}.loading{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#eff4eb;z-index:1000;transition:opacity .5s}.loading-logo{font-size:29px;font-weight:850;letter-spacing:6px}.loading-logo span{display:block;font-size:11px;font-weight:500;letter-spacing:2px;margin-top:18px;text-align:center}.loading-track{width:180px;height:2px;background:#dae5d5;margin-top:30px;overflow:hidden}.loading-track i{display:block;background:#547654;width:50%;height:100%;animation:loading 1.2s ease infinite}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(200%)}}.error{position:absolute;inset:0;background:#eff4eb;padding:15vh 10vw;z-index:2000}.error p{font-size:14px}.error button{padding:12px 20px;border-radius:8px}dialog{border:1px solid #fff;border-radius:20px;background:#f9fcf5;color:#264839;max-width:520px;width:calc(100% - 40px);padding:35px;box-shadow:0 20px 100px #13322d55}dialog::backdrop{background:#193d3844;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:12px;top:12px}dialog h2{font-size:23px;margin-top:8px}dialog p,dialog li{font-size:12px;line-height:1.9}dialog a{color:#357451}dialog ul{padding-left:18px}.capture .topbar,.capture .intro,.capture .toolbar,.capture .compass,.capture .explore-strip,.capture .footer,.capture .vignette,.no-labels #labels{display:none}#labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}@media(min-width:1500px){.intro{top:140px}.intro h1{font-size:43px}.explore-strip{left:50%;right:auto;transform:translate(-50%);width:1100px}}@media(max-width:700px){.topbar{top:21px;left:21px;right:19px}.brand{font-size:13px;gap:6px}.brand small{font-size:5px;letter-spacing:1.1px}.brand-mark{font-size:36px}.location{font-size:10px;padding:8px 11px;gap:8px}.location small{font-size:6px}.topbar>.icon-button{display:none}.intro{top:99px;left:24px}.eyebrow{font-size:6px;letter-spacing:1.6px}.intro h1{font-size:26px;letter-spacing:2px;line-height:1.55;margin:12px 0 8px}.intro p{font-size:9px;letter-spacing:1px}.toolbar{right:14px;padding:4px;top:48%;gap:2px}.toolbar .icon-button{width:34px;height:34px;font-size:21px}.explore-strip{bottom:49px;left:15px;right:15px;padding:10px;gap:0;border-radius:13px}.strip-title{display:none}.spot{min-width:147px;padding:9px 10px}.spot-list{gap:7px}.spot strong{font-size:10px}.spot small{font-size:7px}.footer{left:18px;right:18px;bottom:20px;font-size:7px}.footer button{font-size:8px}#view-caption,.footer-separator{display:none}.compass{right:27px;bottom:145px}.poi-label .pin{width:32px;height:32px;border-width:3px}.poi-label .pin svg{width:17px;height:17px}.poi-label .label-text{font-size:9px;padding:6px 8px 6px 12px;letter-spacing:0}.poi-card{left:15px;right:15px;bottom:135px;width:auto;padding:20px}.poi-card h2{font-size:20px}.poi-card p{margin:12px 0}.poi-card .coordinate{margin-bottom:10px}.poi-card .card-note{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
