[data-v-0acf875d]:root{--spinner-size: 3rem;--spinner-size-mobile: 2.5rem;--spinner-gap: 1.5rem;--spinner-gap-mobile: 1rem;--spinner-text-size: .875rem;--spinner-text-size-mobile: .75rem}.viewer-scene[data-v-0acf875d]{width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden;background:var(--bg-primary, #0a0a0a)}.viewer-scene__loading-overlay[data-v-0acf875d]{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--bg-primary, #0a0a0a) 0%,var(--bg-secondary, #1a1a1a) 100%);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:1;transition:opacity 1s ease-out}.viewer-scene__loading-overlay--fade-out[data-v-0acf875d]{opacity:0}.viewer-scene__spinner[data-v-0acf875d]{display:flex;flex-direction:column;align-items:center;gap:var(--spinner-gap)}@media (max-width: 768px){[data-v-0acf875d]:root{--spinner-size: var(--spinner-size-mobile);--spinner-gap: var(--spinner-gap-mobile)}}.elite-preloader[data-v-0acf875d]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.elite-spinner[data-v-0acf875d]{width:44px;height:44px;border:3px solid #333;border-top:3px solid #666;border-radius:50%;animation:elite-spin-0acf875d 1s linear infinite}@keyframes elite-spin-0acf875d{to{transform:rotate(360deg)}}[data-v-41aed60b]:root{--elite-bg-blur: 18px;--elite-border: rgba(255,255,255,.18);--elite-accent: linear-gradient(90deg, #6a82fb 0%, #fc5c7d 100%);--elite-btn-bg: rgba(255,255,255,.1);--elite-btn-bg-active: linear-gradient(90deg, #6a82fb 0%, #fc5c7d 100%);--elite-btn-color: #fff;--elite-btn-color-active: #fff;--elite-gap: 1.2rem;--elite-title-size: 1.1rem;--elite-title-weight: 500;--elite-title-color: #fff;--elite-title-color-secondary: #b0b8d1;--elite-btn-font-size: 1rem;--elite-btn-padding: .7em 1.5em;--elite-btn-radius: .8em;--elite-btn-gap: .7em;--elite-btn-transition: .22s cubic-bezier(.4,0,.2,1)}.elite-panel[data-v-41aed60b]{background:transparent;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:1rem;min-width:320px;max-width:98vw;display:flex;flex-direction:column;position:absolute;left:0;top:0;gap:.5rem 0;z-index:10}.elite-panel__controls[data-v-41aed60b]{display:flex;gap:.5rem;width:100%}.elite-btn[data-v-41aed60b]{flex:1 1 0;min-width:0;margin:0;background:#ffffff1a;color:#fff;border:1px solid #fff;padding:.5rem 0;cursor:pointer;transition:background .25s cubic-bezier(.4,0,.2,1),color .25s cubic-bezier(.4,0,.2,1);font-size:14px;font-family:inherit;box-shadow:none;border-radius:0;text-align:center}.elite-btn--active[data-v-41aed60b]{background:#fff;color:#000}.elite-btn[data-v-41aed60b]:disabled{opacity:.5;cursor:not-allowed}.elite-fade-enter-active,.elite-fade-leave-active{transition:opacity .5s cubic-bezier(.4,0,.2,1)}.elite-fade-enter-from,.elite-fade-leave-to{opacity:0}.elite-fade-enter-to,.elite-fade-leave-from{opacity:1}[data-v-04413d83]:root{--elite-bg: rgba(30, 36, 50, .55);--elite-bg-blur: 18px;--elite-border: rgba(255, 255, 255, .18);--elite-accent: linear-gradient(90deg, #6a82fb 0%, #fc5c7d 100%);--elite-btn-bg: rgba(255, 255, 255, .1);--elite-btn-color: #fff;--elite-btn-color-active: #fff;--elite-btn-transition: .25s cubic-bezier(.4, 0, .2, 1)}.architecture-viewer-root[data-v-04413d83]{height:100%;width:100%;position:relative}.x-panel[data-v-04413d83]{background:var(--elite-bg);-webkit-backdrop-filter:blur(var(--elite-bg-blur));backdrop-filter:blur(var(--elite-bg-blur));color:#fff;padding:15px;min-width:320px;max-width:98vw;font-family:Segoe UI,system-ui,sans-serif;font-size:15px;box-sizing:border-box}.x-toggle-btn[data-v-04413d83]{position:fixed;right:15px;bottom:15px}.x-reset-btn[data-v-04413d83]{position:fixed;right:15px;bottom:80px;display:flex;align-items:center;justify-content:center;z-index:101}.x-toggle-btn[data-v-04413d83],.x-reset-btn[data-v-04413d83]{background:#00000080;border:1px dashed #aaa;outline:none;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:31px;color:#ccc;transition:background .5s cubic-bezier(.4,0,.2,1),border .5s cubic-bezier(.4,0,.2,1),color .5s cubic-bezier(.4,0,.2,1);z-index:100;box-sizing:border-box;padding:0}.x-toggle-btn[data-v-04413d83]:hover,.x-toggle-btn[data-v-04413d83]:focus,.x-reset-btn[data-v-04413d83]:hover,.x-reset-btn[data-v-04413d83]:focus{background:#ccc;color:#000;border:1px dashed #000}.toggle-icon[data-v-04413d83],.reset-icon[data-v-04413d83]{display:block;line-height:1;font-family:Segoe UI,system-ui,sans-serif;text-align:center;width:100%;font-size:27px;-webkit-user-select:none;user-select:none;font-weight:700}#app{width:100vw;height:100vh;position:relative}:root{--bg-primary: #0a0a0a;--bg-secondary: #1a1a1a;--bg-tertiary: #2a2a2a;--text-primary: #ffffff;--text-secondary: #cccccc;--text-muted: #888888;--accent: #4a9eff;--accent-hover: #6bb0ff;--border: #333333;--transition: .2s ease;--fade-floor-color: #222;--fade-floor-opacity: .18;--interior-fade-color: #b0b0b0;--interior-wall-opacity: .45;--interior-innerwall-opacity: .22;--interior-window-opacity: .35;--roof-transparent-color: #b0b0b0;--roof-transparent-opacity: .15}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.btn{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);padding:8px 16px;cursor:pointer;transition:all var(--transition);font-size:14px;font-family:inherit}.btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.panel{background:var(--bg-secondary);border:1px solid var(--border);padding:16px}.controls{display:flex;gap:8px}.controls-vertical{flex-direction:column}.controls-vertical>*{margin-bottom:16px}.controls-vertical>*:last-child{margin-bottom:0}.text-muted{color:var(--text-muted);font-size:12px}.absolute{position:absolute}.relative{position:relative}.fixed{position:fixed}.top-left{top:20px;left:20px}.z-high{z-index:1000}
