@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;550;600;650;700&display=swap";:root{font-family:DM Sans,sans-serif;color:#292d23;background:#f5f5ee;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0}button,a{touch-action:manipulation}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible{outline:2px solid #a4b957;outline-offset:4px}a{color:inherit;text-decoration:none}button svg{flex-shrink:0}button{transition:background .15s,color .15s}.app-shell{max-width:1920px;margin:auto;padding:0 28px 28px}.app-header{height:84px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:10px;font-size:28px;letter-spacing:-1.5px;font-weight:700}.brand svg{color:#7a875c}.open-button{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 15px;border:1px solid #d9ddcf;border-radius:9px;background:transparent;font-size:13px;font-weight:500}.open-button:hover{background:#e9ecdf}.workspace{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:start}.sidebar{min-width:0}.scene-list{display:flex;flex-direction:column;gap:18px;padding:3px}.scene-card{width:100%;text-align:left;background:none;padding:0;border-radius:8px}.scene-thumb{aspect-ratio:1.9;border-radius:7px;position:relative;background-position:center;background-size:cover;box-shadow:inset 0 0 0 1px #ffffff12}.scene-thumb img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;border-radius:inherit}.scene-card.selected .scene-thumb{outline:2px solid #8c996b;outline-offset:3px}.scene-card:hover .scene-thumb{box-shadow:inset 0 0 0 1px #c6d4a3}.selected-check{position:absolute;right:9px;bottom:9px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#303c1e;background:#d8e3b6}.scene-name{display:block;padding:11px 0 0;font-size:12px;font-weight:500;color:#7c8170;overflow-wrap:anywhere}.scene-card.selected .scene-name{color:#292f20}.viewer-stage{height:calc(100svh - 112px);min-height:420px;position:relative;border-radius:12px;overflow:hidden;background:#0a1016;color:#fff;isolation:isolate}.panorama-canvas{position:absolute;inset:0}.panorama-canvas canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:none;outline-offset:-4px}.panorama-canvas canvas:active{cursor:grabbing}.viewer-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#03091122,transparent 20%,transparent 75%,#03091155);z-index:1}.viewer-top{position:absolute;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));display:flex;gap:8px;z-index:4}.glass-button{width:44px;height:44px;display:grid;place-items:center;background:#10171e6b;border:1px solid #ffffff24;border-radius:9px;color:#e8ebee;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.glass-button:hover{background:#303d4899}.viewer-bottom{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));display:flex;justify-content:center;z-index:2;transition:opacity .2s}.control-bar{display:flex;align-items:center;gap:3px;padding:6px;border:1px solid #ffffff24;background:#10171e85;border-radius:12px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.tool-button{width:44px;height:44px;background:transparent;display:grid;place-items:center;color:#dce1e4;border-radius:7px}.tool-button:hover{background:#ffffff12;color:#fff}.tool-button.active{background:#d8e3b628;color:#dfefb8}.control-divider{height:20px;width:1px;background:#ffffff24;margin:0 5px}.controls-hidden .viewer-bottom{opacity:0;visibility:hidden;pointer-events:none}.controls-hidden .viewer-shade{opacity:0}.viewer-stage.is-fullscreen,.viewer-stage:fullscreen{position:fixed;inset:0;width:100%;height:100%;height:100dvh;min-height:0;max-height:none;border-radius:0;z-index:100}.viewer-stage::backdrop{background:#0a1016}.viewer-status{position:absolute;inset:0;background:#101820;z-index:3;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;padding:36px;font-size:13px;color:#c8d7ba;text-align:center;pointer-events:none}.viewer-status.error{background:#101820eb;color:#e6c6b3}.viewer-status span{max-width:360px;line-height:1.6}.spin{animation:spin 1.4s linear infinite}.toast{position:absolute;left:50%;top:max(80px,calc(env(safe-area-inset-top) + 62px));transform:translate(-50%);width:max-content;max-width:calc(100% - 32px);z-index:7;display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid #cdd4bc;border-radius:9px;background:#f5f5eef5;color:#39422c;font-size:12px;line-height:1.6;box-shadow:0 8px 40px #0003}.toast>svg{flex-shrink:0}.toast span{max-width:400px}.toast button{background:none;padding:4px;color:#6a705e;display:grid;place-items:center}.drop-overlay{position:absolute;inset:12px;border:2px dashed #d2e2a8;border-radius:8px;background:#1d2926ed;color:#dce9c0;display:grid;place-items:center;z-index:6;pointer-events:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.app-shell{padding:0 18px 18px}.app-header{height:72px}.workspace{grid-template-columns:155px minmax(0,1fr);gap:18px}.viewer-stage{height:calc(100svh - 90px)}}@media(max-width:640px){.app-shell{padding:0 12px 16px}.app-header{height:68px}.brand{font-size:25px;gap:8px}.brand svg{width:23px}.open-button{font-size:12px;padding:0 12px}.workspace{display:flex;flex-direction:column-reverse;gap:17px}.viewer-stage{width:100%;height:calc(100svh - 212px);min-height:330px;border-radius:10px}.sidebar{width:100%}.scene-list{display:grid;grid-auto-flow:column;grid-auto-columns:130px;gap:13px;overflow-x:auto;padding:4px 4px 8px;scrollbar-width:thin}.scene-name{font-size:11px;padding-top:9px}.selected-check{width:20px;height:20px;right:6px;bottom:6px}.viewer-top{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right))}.viewer-bottom{bottom:max(14px,env(safe-area-inset-bottom));left:max(6px,env(safe-area-inset-left));right:max(6px,env(safe-area-inset-right))}.control-bar{padding:4px;gap:0;border-radius:10px}.control-divider{margin:0 2px}}@media(max-width:370px){.control-divider{display:none}.tool-button{width:40px}.scene-list{grid-auto-columns:112px}}@media(max-height:500px)and (orientation:landscape){.app-header{height:60px}.viewer-stage{height:calc(100svh - 78px);min-height:240px}.viewer-stage.is-fullscreen,.viewer-stage:fullscreen{height:100dvh;min-height:0}.viewer-bottom{bottom:max(10px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
