:root{font-family:system-ui,sans-serif;color:#eee8d2;background:#aaa995;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0}#app,#viewport{position:fixed;inset:0}#viewport{overflow:hidden}canvas{display:block;width:100%;height:100%;touch-action:none}button{font:inherit;font-size:14px;cursor:pointer;border:0;border-radius:6px;padding:12px 16px;color:#eee8d2;background:#18241fe8;min-height:44px}button:hover{background:#324037}button[aria-pressed=true]{background:#eee4be;color:#20362a}button:focus-visible,canvas:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid #ebcb81;outline-offset:-3px}.floating-controls{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;gap:8px}.navigation{display:flex;gap:8px}#home span{margin-left:8px}.camera-views,#recenter,.back-view{border:1px solid #eee8d224;border-radius:999px;background:#101b1938;box-shadow:0 8px 24px #0000002e,inset 0 1px #ffffff0f;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);color:#eee8d2c7;text-shadow:0 1px 2px #00000080;transition:background-color .25s ease,border-color .25s ease,color .25s ease}.floating-controls:is(:hover,:focus-within)>*,.back-view:is(:hover,:focus-visible){border-color:#eee8d23d;background:#101b19c2;color:#eee8d2}.camera-views{display:flex;align-items:center;gap:2px;width:max-content;padding:4px}.camera-views button{min-height:36px;padding:0 14px;border-radius:999px;background:transparent;color:inherit;font-size:13.5px;font-weight:500;letter-spacing:.01em;white-space:nowrap;transition:background-color .2s ease,color .2s ease}.camera-views button:hover{background:#eee8d21a}#previous-view,#next-view{width:36px;padding:0;font-size:19px;line-height:1}.view-list{display:flex;gap:2px;margin:0;padding:0;list-style:none}.camera-views .view-list button[aria-current]{background:#eee4bebf;color:#18241f;text-shadow:none}.floating-controls:is(:hover,:focus-within) .view-list button[aria-current]{background:#eee4be}.close-ups{position:fixed;left:50%;bottom:calc(max(20px,env(safe-area-inset-bottom)) + 58px);z-index:3;display:flex;gap:8px;transform:translate(-50%)}.close-ups[hidden]{display:none}.close-ups button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 15px 0 12px;border:1px solid #eee4be4d;border-radius:999px;background:#101b1973;box-shadow:0 6px 18px #00000038;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);color:#eee4be;font-size:13.5px;font-weight:500;text-shadow:0 1px 2px #00000080;white-space:nowrap;animation:close-up-in .4s ease-out .55s backwards;transition:background-color .2s ease,border-color .2s ease}.close-ups button:hover,.close-ups button:focus-visible{border-color:#eee4be8c;background:#101b19d1}@keyframes close-up-in{0%{opacity:0;transform:translateY(6px)}}.grab-tip{position:fixed;top:max(20px,env(safe-area-inset-top));left:50%;z-index:3;display:flex;align-items:center;gap:9px;margin:0;padding:9px 16px 9px 13px;border:1px solid #eee4be4d;border-radius:999px;background:#101b19b3;box-shadow:0 8px 24px #0000002e;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);color:#eee8d2;font-size:13.5px;font-weight:500;white-space:nowrap;transform:translate(-50%);animation:grab-tip-in .45s ease-out;transition:opacity .3s ease;pointer-events:none}.grab-tip svg{flex:none;color:#eee4be}.grab-tip[hidden]{display:none}.grab-tip[data-leaving]{opacity:0}@keyframes grab-tip-in{0%{opacity:0;transform:translate(-50%,-8px)}}.back-view{position:fixed;top:max(20px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));z-index:3;min-height:40px;padding:0 16px 0 13px;font-size:13.5px;font-weight:500}.back-view[hidden]{display:none}@media(hover:none){.camera-views,#recenter,.back-view{background:#101b1966}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.camera-views,#recenter,.back-view{background:#101b19b3}}@media(prefers-reduced-motion:reduce){.close-ups button,.grab-tip{animation:none;transition:none}.camera-views,.camera-views button,#recenter,.back-view{transition:none}}@media(max-width:760px){.grab-tip{top:calc(max(20px,env(safe-area-inset-top)) + 54px)}}@media(max-width:560px){.floating-controls{bottom:max(12px,env(safe-area-inset-bottom));gap:6px}#previous-view,#next-view{display:none}.close-ups{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 56px)}.camera-views .view-list button{min-height:38px;padding:0 9px;font-size:13px}}.object-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}#object-tools>button{margin-bottom:8px}#object-tools button:disabled{opacity:.4;cursor:default}#recenter{display:grid;place-items:center;width:46px;min-height:46px;padding:0}#recenter:hover{background:#101b19c2}#recenter:disabled{opacity:.45;cursor:default}.floating-controls,.debug-panel{z-index:3}.debug-panel{position:absolute;top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));max-width:calc(100% - 40px);max-height:calc(100% - 110px);overflow:auto;background:#18241fe8;color:#eee8d2;border-radius:6px;font:14px/1.5 monospace}.debug-panel[open]{width:280px}.debug-panel summary{padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:44px}.debug-panel fieldset{border:0;margin:0;padding:4px 16px 16px;min-width:0}.debug-label{display:flex;justify-content:space-between;gap:12px}.debug-panel output{color:#ebcb81}.debug-panel input{width:100%;margin:15px 0 8px;accent-color:#ebcb81;cursor:pointer;min-height:24px}.debug-panel p{font-size:12px;color:#b7bcad;margin:0 0 16px}.debug-panel dl{font-size:12px;margin:0 0 16px}.debug-panel dl div{display:flex;justify-content:space-between;gap:8px;margin:6px 0;flex-wrap:wrap}.debug-panel dd{margin:0;color:#ebcb81}.debug-panel button{width:100%;background:#324037}.debug-panel fieldset:disabled{opacity:.5}.debug-checkbox{display:flex;align-items:center;gap:10px;min-height:44px;margin-bottom:12px;cursor:pointer}.debug-panel .debug-checkbox input{width:18px;height:18px;min-height:18px;margin:0;flex:0 0 auto}.debug-panel{top:auto;bottom:max(10px,env(safe-area-inset-bottom));right:max(10px,env(safe-area-inset-right));max-height:min(60vh,520px);font-size:11px;border-radius:4px}.debug-panel[open]{width:245px}.debug-panel summary{min-height:26px;padding:4px 9px;font-size:11px}.debug-panel fieldset{padding:4px 10px 10px}.debug-panel p{font-size:10px;margin-bottom:10px}.debug-panel input{margin:5px 0;min-height:18px}.debug-panel .debug-checkbox{min-height:28px;margin-bottom:5px}.debug-panel button{min-height:30px;font-size:11px;padding:6px 8px}#error{position:absolute;inset:0;z-index:2;background:#18241ff2;padding:32px;align-content:center;text-align:center}#error p{max-width:440px;margin:20px auto;line-height:1.6}#error h2{font-weight:400;font-size:28px}body:has(#error:not([hidden])) .floating-controls{display:none}#loading-screen{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#080b0c;color:#d9d3bc}#loading-screen[hidden]{display:none}.loading-content{text-align:center;padding:32px;font:14px/1.6 monospace}.loading-mark{font-size:48px;color:#b4bd97}.loading-content h1{font:inherit;font-size:20px;margin:16px 0 8px}.loading-content p{color:#9caa9e;min-height:24px}.loading-content progress{width:220px;height:4px;accent-color:#b4bd97}body[data-loading] .floating-controls,body[data-loading] .debug-panel{visibility:hidden}.loading-content h1{margin-bottom:22px}.tv-page{position:absolute;left:0;top:0;width:640px;height:480px;transform-origin:top left;display:flex;flex-direction:column;overflow:hidden;border-radius:5%/7%;background:#101e23;color:#f1edce;font:16px/1.4 monospace;padding:24px 26px 18px;box-shadow:inset 0 0 30px #0008}.tv-page[hidden]{display:none}.tv-page header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #91aa9766;padding-bottom:12px}.tv-page h2{margin:0;font-size:23px;letter-spacing:2px}.tv-page header span,.tv-page footer{font-size:12px;color:#adc1af}.tv-video-list{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;margin:8px 0;scrollbar-color:#a7b896 #17282b}.tv-video-list a{display:flex;gap:16px;align-items:center;color:inherit;text-decoration:none;padding:12px 6px;border-bottom:1px solid #91aa9733}.tv-video-list a:hover,.tv-video-list a:focus-visible{background:#324a48;outline:2px solid #d3ddb2;outline-offset:-2px}.tv-video-list img{width:160px;height:90px;object-fit:cover;flex:0 0 160px;border-radius:2px}.tv-video-list strong{display:block;font-size:17px;font-weight:500}.tv-video-list small{display:block;margin-top:8px;color:#adc1af}.tv-page footer{padding-top:8px;border-top:1px solid #91aa9766}.tv-page{background:radial-gradient(ellipse at 75% 15%,#235a8a 0,transparent 65%),linear-gradient(145deg,#101c48,#080c27 72%,#17365b);color:#e3eaff;text-shadow:0 0 3px #9ab9dd70;box-shadow:inset 0 0 35px #000b}.tv-page:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:repeating-linear-gradient(0deg,#0003 0,#0003 1px,transparent 1px,transparent 3px),linear-gradient(100deg,transparent 20%,#c4e8ff07 50%,transparent 80%);z-index:5}.tv-page h2{font:italic 700 35px Georgia,serif;letter-spacing:1px;color:#f6df9a;text-shadow:2px 2px #111a3f,0 0 12px #a2c8ff66}.tv-page header{border-bottom-color:#a3bdd577;padding-bottom:8px}.tv-video-list a{border-bottom:1px solid #9bb3d433;padding:10px 6px}.tv-video-list a:hover,.tv-video-list a:focus-visible{background:linear-gradient(90deg,#36568b,#243b68aa);color:#fff0ac;outline-color:#ecd799}.tv-video-list small{color:#bccded}.tv-video-list{scrollbar-color:#8daccb #12213c}.tv-page footer{min-height:24px;border:0}.drone-flight-help{position:absolute;bottom:84px;left:50%;transform:translate(-50%);z-index:4;max-width:calc(100% - 350px);padding:8px 12px;border-radius:5px;background:#101b19d9;color:#e4e6df;text-align:center;font:12px/1.6 monospace;pointer-events:none}.drone-flight-help[hidden]{display:none}@media(max-width:750px){.drone-flight-help{bottom:70px;max-width:calc(100% - 24px);width:max-content;font-size:11px}}
