:root{font-family:"Hiragino Sans","Noto Sans JP",system-ui,sans-serif;color:#142e32;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#c9dce9}button,select,input{font:inherit}button,select{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #20a197;outline-offset:5px}#view{position:fixed;inset:0}canvas{display:block;width:100%;height:100%}.wash{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(237,247,252,.62),transparent 31%,transparent 73%,rgba(10,29,32,.2))}header{position:fixed;top:32px;left:42px;right:42px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:inherit;font-size:23px;font-weight:650;letter-spacing:.06em}.brand small{display:block;font-size:10px;font-weight:450;letter-spacing:.2em;margin-top:5px;opacity:.75}.city-box{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;background:rgba(250,253,252,.85);backdrop-filter:blur(22px);border:1px solid rgba(255,255,255,.8);border-radius:100px;padding:5px 19px;box-shadow:0 8px 30px #2c566214}.pin{color:#247f78;font-size:19px}select{border:0;background:transparent;color:inherit;appearance:none;outline:none}.city-box select{width:200px;padding:11px 15px;font-size:14px;letter-spacing:.04em}.chevron{pointer-events:none;font-size:19px}.about-button{border:0;background:rgba(249,253,252,.8);padding:14px 20px;border-radius:30px;font-size:12px;letter-spacing:.08em;backdrop-filter:blur(15px);color:inherit}.about-button span{margin-left:13px}.caption{position:fixed;top:150px;left:48px;pointer-events:none;text-shadow:0 1px 16px #e8f5fa80}.eyebrow{font-size:10px;letter-spacing:.15em;display:flex;align-items:center;gap:10px;font-weight:550}.eyebrow i{width:5px;height:5px;background:#2b8e80;border-radius:50%}.separator{opacity:.3;margin:0 2px}.caption h1{font-size:39px;letter-spacing:.07em;font-weight:450;line-height:1.55;margin:15px 0 7px}.caption p{font-size:12px;letter-spacing:.12em;margin:0;color:#345157}.toolbar{position:fixed;bottom:72px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;padding:13px 18px 13px 13px;background:rgba(253,255,254,.93);border:1px solid #fff;border-radius:100px;box-shadow:0 15px 45px #082d4120;backdrop-filter:blur(30px);white-space:nowrap}.flight{border:0;border-radius:40px;display:flex;gap:14px;align-items:center;background:#193d3d;color:#fff;padding:18px 25px;font-size:13px;letter-spacing:.05em;min-width:164px;justify-content:center;transition:background .2s}.flight:hover{background:#28655c}.flight[disabled]{opacity:.4;cursor:wait}#flight-icon{font-size:12px}.divider{height:31px;width:1px;background:#e1e7e4}.time-control{display:flex;gap:15px;align-items:center}.sun-icon{font-size:25px;font-weight:300;color:#a68647}.time-control>div{width:175px}.control-label{font-size:10px;display:flex;justify-content:space-between;letter-spacing:.12em;color:#617474}.control-label b{font-size:10px;font-weight:450;color:#254e50;letter-spacing:0}input[type=range]{accent-color:#2f6b62;width:100%;height:3px;cursor:pointer;margin:14px 0 5px}.quality-control .control-label{margin-bottom:6px}.quality-control select{font-size:12px;padding-right:12px}.shot{display:flex;justify-content:center;align-items:center;border:1px solid #dce7e1;border-radius:100%;width:43px;height:43px;background:transparent;color:#234745}.shot:hover{background:#eff6f2}.gesture{position:fixed;bottom:163px;left:50%;transform:translateX(-50%);font-size:10px;color:#eff9f7;text-shadow:0 1px 9px #15373f;letter-spacing:.08em;white-space:nowrap}.gesture span{margin:0 12px;opacity:.5}footer{position:fixed;bottom:20px;left:32px;right:32px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;color:rgba(249,254,253,.9);font-size:9px;text-shadow:0 1px 5px #143a43;letter-spacing:.035em}footer a{color:inherit;text-decoration:none}footer a:hover{text-decoration:underline}footer small{display:block;font-size:8px;margin-top:6px;opacity:.85}#status{font-size:9px}.loading{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:rgba(223,237,243,.9);backdrop-filter:blur(15px);transition:opacity .35s;z-index:20}.loading[hidden]{display:none}.loading strong{font-size:16px;font-weight:450;letter-spacing:.15em}.loading span{font-size:11px;color:#638285}.loader{width:32px;height:32px;border:1px solid #9bb9b8;border-top-color:#205d57;border-radius:100%;animation:spin 1.3s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}dialog{max-width:560px;border:1px solid #fff;border-radius:24px;padding:39px;background:#f8fcfa;box-shadow:0 20px 100px #082d4140;color:#24433e}dialog::backdrop{background:#0f303363;backdrop-filter:blur(5px)}dialog h2{font-size:24px;font-weight:450;letter-spacing:.06em}dialog p:not(.eyebrow){font-size:12px;line-height:1.9;color:#5b716b}dialog a{font-size:11px;color:#276c5b}#close-info{position:absolute;right:15px;top:10px;border:0;background:transparent;font-size:25px;color:#698078}#toast{position:fixed;left:50%;top:110px;transform:translateX(-50%);padding:13px 24px;border-radius:50px;background:#153d3eea;color:white;font-size:12px;opacity:0;pointer-events:none;transition:opacity .3s}@media(max-width:760px){header{top:20px;left:22px;right:22px}.brand{font-size:18px}.brand small{font-size:8px}.city-box{position:static;transform:none;margin-left:auto;padding:3px 10px}.city-box select{width:130px;font-size:11px;padding:10px}.about-button{display:none}.caption{top:125px;left:26px}.caption h1{font-size:29px}.caption p{font-size:10px}.toolbar{bottom:86px;gap:12px;padding:10px;border-radius:28px}.flight{min-width:115px;padding:17px 15px;font-size:11px;gap:9px}.time-control>div{width:100px}.sun-icon{display:none}.quality-control{display:none}.toolbar>.divider:nth-of-type(2){display:none}.gesture{font-size:8px;bottom:169px}.gesture span{margin:0 6px}footer{left:20px;right:20px;bottom:18px}#status{display:none}}

@media(max-width:760px){header{gap:10px}.brand{font-size:16px;gap:8px}.brand svg{width:24px;height:24px}.brand small{display:none}.city-box select{width:116px;padding:9px 7px}.city-box .pin{display:none}.city-box{padding:3px 9px}.about-button{display:block;padding:9px;font-size:0}.about-button span{font-size:15px;margin-left:0}}
