*{margin:0;padding:0;box-sizing:border-box}body{overflow:hidden;font-family:Arial,sans-serif;background:#000}#tour-facade{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0d0d0d center / cover no-repeat;display:flex;align-items:center;justify-content:center;transition:opacity .5s ease}#tour-facade.facade-hiding{opacity:0;pointer-events:none}.facade-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000052;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.facade-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:2rem}.facade-logo{height:48px;width:auto;max-width:160px;object-fit:contain;filter:drop-shadow(0 2px 16px rgba(0,0,0,.7))}.facade-btn{display:flex;flex-direction:column;align-items:center;gap:.9rem;background:none;border:none;cursor:pointer;padding:0;animation:facade-pulse 2.8s ease-in-out infinite;transition:transform .25s ease}.facade-btn:hover{transform:scale(1.07);animation:none}.facade-btn-circle{width:72px;height:72px;border-radius:50%;background:#c9a227;display:flex;align-items:center;justify-content:center;transition:background .25s ease}.facade-btn:hover .facade-btn-circle{background:var(--facade-btn-hover, #ddb632)}.facade-btn-circle svg{width:28px;height:28px;margin-left:4px}.facade-btn-label{font-family:Montserrat,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#ffffffbf}@keyframes facade-pulse{0%,to{filter:drop-shadow(0 0 0px transparent)}50%{filter:drop-shadow(0 0 18px var(--facade-btn-glow, rgba(201, 162, 39, .6)))}}#canvas-container{width:100vw;height:100vh;position:relative}.webgl{position:absolute;top:0;left:0;width:100%;height:100%;outline:none}@property --loader-accent{syntax: "<color>"; inherits: true; initial-value: #d9d9d9;}#loader{--loader-accent: #d9d9d9;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;justify-content:center;align-items:center;background-color:#171617;transition:opacity .6s ease,--loader-accent .9s ease}.loader-halo{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-size:150% 150%;background-position:0% 100%,100% 0%;animation:loader-drift 16s ease-in-out infinite alternate;opacity:0;transition:opacity 1.1s ease}#loader.is-branded .loader-halo{opacity:1}@keyframes loader-drift{0%{background-position:0% 100%,100% 0%}to{background-position:14% 86%,86% 14%}}.loader-card{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:22px;width:min(320px,calc(100vw - 48px));box-sizing:border-box;padding:36px 32px 30px;border-radius:24px;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);box-shadow:0 24px 64px #00000059,inset 0 1px #ffffff2e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transform:perspective(900px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));will-change:transform;animation:loader-card-in .7s cubic-bezier(.2,.8,.2,1) backwards;transition:transform .25s ease-out,filter .6s ease}@keyframes loader-card-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}#loader.is-leaving .loader-card{transform:perspective(900px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) scale(.96);filter:blur(6px);transition:transform .6s ease,filter .6s ease}.loader-logo{max-width:150px;max-height:64px;object-fit:contain;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}.loader-scene{display:block;width:100%;height:150px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent)}.loader-tip{min-height:2.8em;max-width:260px;text-align:center;color:#ffffff9e;font-size:13px;line-height:1.4;opacity:0;transform:translateY(4px);transition:opacity .35s ease,transform .35s ease}.loader-tip.is-shown{opacity:1;transform:none}.loader-text{color:#ffffffe0;font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase}.loader-progress{display:flex;align-items:center;gap:14px;width:100%}.loader-bar{position:relative;flex:1;height:3px;border-radius:999px;background:#ffffff1f;overflow:hidden}.loader-bar-fill{position:relative;height:100%;width:0%;border-radius:999px;background:var(--loader-accent);background:linear-gradient(90deg,color-mix(in srgb,var(--loader-accent) 45%,white),var(--loader-accent));box-shadow:0 0 14px var(--loader-accent);transition:width .45s cubic-bezier(.2,.8,.2,1);overflow:hidden}.loader-bar-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:translate(-100%);animation:loader-shimmer 1.6s ease-in-out infinite}@keyframes loader-shimmer{to{transform:translate(100%)}}.loader-percent{min-width:3.2em;text-align:right;color:#fff9;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}.splat-welcome{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:flex;justify-content:center;align-items:center;padding:16px;background:#0606086b;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility 0s linear .35s}.splat-welcome.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .35s ease}.splat-welcome-card{position:relative;width:min(440px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;box-sizing:border-box;padding:24px 24px 20px;border-radius:20px;background:#ffffff26;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff80,inset 0 -1px #ffffff1a,inset 0 0 22px 11px #ffffff1a;color:#ffffffe6;font:14px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transform:translateY(10px) scale(.98);transition:transform .4s cubic-bezier(.2,.8,.2,1)}.splat-welcome-card:before,.splat-welcome-card:after{content:"";position:absolute;pointer-events:none}.splat-welcome-card:before{top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent)}.splat-welcome-card:after{top:0;left:0;width:1px;height:100%;background:linear-gradient(180deg,rgba(255,255,255,.8),transparent,rgba(255,255,255,.3))}.splat-welcome.is-open .splat-welcome-card{transform:none}@media(min-width:760px){.splat-welcome-card{width:min(760px,100%);display:grid;grid-template-columns:1fr 1fr;column-gap:32px;align-content:start}.splat-welcome-card>*{grid-column:1 / -1}.splat-welcome-section:nth-of-type(1){grid-column:1;grid-row:span 2}.splat-welcome-section:nth-of-type(2),.splat-welcome-section:nth-of-type(3){grid-column:2}}.splat-welcome-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.splat-welcome-logo{height:40px;max-width:96px;flex-shrink:0;object-fit:contain}.splat-welcome-eyebrow{color:#fff9;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.splat-welcome-title{margin:2px 0;color:#fff;font-size:19px;font-weight:650;line-height:1.2}.splat-welcome-subtitle{margin:0;color:#fff9;font-size:13px}.splat-welcome-section{margin-bottom:14px}.splat-welcome-section h3{margin:0 0 8px;color:#ffffff8c;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.splat-welcome-move{display:grid;gap:8px}.splat-welcome-row{display:grid;grid-template-columns:76px 1fr;align-items:center;gap:12px}.splat-welcome-section>.splat-welcome-row+.splat-welcome-row{margin-top:8px}.splat-welcome-visual{display:flex;justify-content:center;align-items:center;gap:4px}.splat-welcome-text strong{display:block;color:#fff;font-weight:600}.splat-welcome-cross{display:grid;grid-template-columns:repeat(3,auto);gap:3px}.splat-welcome kbd{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;box-sizing:border-box;border-radius:7px;background:#ffffff29;border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 1px #ffffff59,inset 0 -2px #0000002e;color:#fff;font:600 11px/1 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.splat-welcome-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:15px;background:#ffffff29;color:#fff}.splat-welcome-icon svg{width:20px;height:20px}.splat-welcome kbd.splat-welcome-mouse{width:30px;height:30px;padding:0}.splat-welcome-mouse svg{width:20px;height:20px}.splat-welcome-poi{position:relative;display:grid;place-items:center;width:40px;height:40px}.splat-welcome-poi>span{position:absolute;width:14px;height:14px;border-radius:50%;box-sizing:border-box}.splat-welcome-poi>span:first-child{border:2px solid var(--poi);animation:splat-welcome-pulse 2.2s ease-out infinite}.splat-welcome-poi>span:last-child{background:var(--poi);border:2px solid rgba(255,255,255,.95);box-shadow:0 0 8px #00000073}@keyframes splat-welcome-pulse{0%{transform:scale(1);opacity:.55}to{transform:scale(2.8);opacity:0}}.splat-welcome-gpu{margin-bottom:14px;padding:12px 14px;border-radius:15px;background:#f59e0b29;border:1px solid rgba(251,191,36,.45);font-size:13px}.splat-welcome-gpu strong{color:#fcd34d}.splat-welcome-gpu p{margin:4px 0 6px}.splat-welcome-gpu ul{margin:0;padding-left:18px}.splat-welcome-hint{margin:10px 0 0;color:#ffffff80;font-size:11px;line-height:1.4;text-align:center}.splat-welcome-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid rgba(255,255,255,.16)}.splat-welcome-toggle{position:relative;display:flex;align-items:center;gap:10px;color:#ffffffbf;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.splat-welcome-toggle input{position:absolute;opacity:0;width:1px;height:1px}.splat-welcome-track{position:relative;flex-shrink:0;width:34px;height:20px;box-sizing:border-box;border-radius:999px;background:#ffffff29;border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 1px 2px #00000026;transition:background .2s ease}.splat-welcome-track span{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#ffffffe6;box-shadow:0 1px 3px #0000004d;transition:transform .2s cubic-bezier(.2,.8,.2,1)}.splat-welcome-toggle input:checked+.splat-welcome-track{background:#ffffff73}.splat-welcome-toggle input:checked+.splat-welcome-track span{transform:translate(14px);background:#fff}.splat-welcome-toggle input:focus-visible+.splat-welcome-track{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}.splat-welcome-start{display:inline-flex;align-items:center;padding:10px 18px;border-radius:15px;background:#ffffff3d;border:1px solid rgba(255,255,255,.4);box-shadow:0 8px 24px #00000026,inset 0 1px #ffffff8c;color:#fff;font:600 14px/1 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;cursor:pointer;transition:background .2s ease}.splat-welcome-start:hover{background:#ffffff57}.splat-welcome-start:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}@media(prefers-reduced-motion:reduce){.loader-halo,.loader-card,.loader-bar-fill:after{animation:none}.loader-tip,.splat-welcome,.splat-welcome-card{transition:none}.splat-welcome-poi>span:first-child{animation:none}}.button-sound{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#0000008c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);flex-direction:column;align-items:center;justify-content:center;gap:18px}.button-sound.visible{display:flex}.sound-alert{color:#ffffffa6;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:.08em;text-transform:uppercase}.button-enter{background:#ffffff1f;border:1px solid rgba(255,255,255,.28);border-radius:50px;color:#fff;font-size:15px;font-weight:600;padding:13px 36px;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background .2s}.button-enter:active{background:#ffffff38}#suspended-message{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000e6;color:#fff;padding:40px 60px;border-radius:15px;text-align:center;z-index:200;border:2px solid #ff4444}#suspended-message h2{margin-bottom:20px;color:#f44}#suspended-message p{font-size:16px;color:#ccc}#tour-controls{color:#000!important;position:fixed;bottom:20px;right:20px;z-index:100;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.control-bar{height:50px;opacity:1;transition:opacity .3s ease;position:fixed;bottom:15px;right:15px;z-index:100;display:flex;gap:0px;padding:5px;background:#ffffff26;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:15px;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff80,inset 0 -1px #ffffff1a,inset 0 0 22px 11px #ffffff1a;overflow:hidden}.control-bar:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent)}.control-bar:after{content:"";position:absolute;top:0;left:0;width:1px;height:100%;background:linear-gradient(180deg,rgba(255,255,255,.8),transparent,rgba(255,255,255,.3))}#splat-poi-nav{display:flex}#splat-poi-nav[hidden]{display:none}#splat-mode-selector,#splat-poi-nav{padding:5px;background:#ffffff26;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:15px;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff80,inset 0 -1px #ffffff1a,inset 0 0 22px 11px #ffffff1a;overflow:hidden}#splat-mode-selector:before,#splat-poi-nav:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent)}#splat-mode-selector:after,#splat-poi-nav:after{content:"";position:absolute;top:0;left:0;width:1px;height:100%;background:linear-gradient(180deg,rgba(255,255,255,.8),transparent,rgba(255,255,255,.3))}canvas.splat-grab{cursor:grab}canvas.splat-grab.is-dragging{cursor:grabbing}.splat-lock-hint{position:fixed;left:50%;top:calc(18px + env(safe-area-inset-top,0px));transform:translate(-50%);padding:5px 12px;background:#000000c7;color:#ffffffe6;border-radius:999px;font:12px/1.3 system-ui,sans-serif;white-space:nowrap;pointer-events:none;z-index:150;opacity:0;transition:opacity .4s ease}.splat-lock-hint.is-shown{opacity:1;transition-duration:.25s}.splat-lock-dot{position:fixed;left:50%;top:50%;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:#ffffffb3;box-shadow:0 0 0 1px #0003;pointer-events:none;z-index:150;opacity:0;transition:opacity .3s ease}.splat-lock-dot.is-shown{opacity:1}.control-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:200;padding:16px;min-width:150px;background:#ffffff26;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:20px;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff80,inset 0 -1px #ffffff1a,inset 0 0 22px 11px #ffffff1a;overflow:hidden}.control-popup:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent)}.control-popup:after{content:"";position:absolute;top:0;left:0;width:1px;height:100%;background:linear-gradient(180deg,rgba(255,255,255,.8),transparent,rgba(255,255,255,.3))}.control-btn{width:40px;height:40px;border:none;background:transparent;color:#fffc;cursor:pointer;border-radius:15px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.control-btn:hover{background:#ffffff26;color:#fff}.control-btn.active{background:#fff3;color:#fff}.control-btn svg{width:20px;height:20px}.control-btn .quality-label{font-size:11px;font-weight:600;letter-spacing:.5px}.popup-close{position:absolute;top:8px;right:8px;width:28px;height:28px;border:none;background:transparent;color:#fff9;font-size:24px;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.popup-close:hover{background:#ffffff1a;color:#fff}.quality-popup{display:flex;flex-direction:column;gap:4px}.popup-option{padding:10px 16px;background:transparent;border:none;color:#ffffffb3;cursor:pointer;border-radius:6px;text-align:left;font-size:13px;transition:all .15s ease}.popup-option:hover{background:#ffffff1a;color:#fff}.splat-quality-btn svg{width:20px;height:20px;transform:translate(-1px,-1px)}.splat-quality-letter{font-family:system-ui,-apple-system,Segoe UI,sans-serif}.control-popup.splat-quality-popup{top:auto;left:auto;transform:none;width:auto;min-width:0;max-width:none;padding:5px;border-radius:15px}.splat-quality-list{display:flex;flex-direction:column;gap:2px}.splat-quality-option{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:130px;height:36px;padding:0 12px;border:none;border-radius:10px;background:transparent;color:#ffffffbf;font-size:13px;text-align:left;cursor:pointer;transition:all .15s ease}.splat-quality-option:hover{background:#ffffff26;color:#fff}.splat-quality-option.active{background:#fff3;color:#fff;font-weight:600}.splat-quality-check{visibility:hidden}.splat-quality-option.active .splat-quality-check{visibility:visible}.help-popup{min-width:250px;padding:16px}.help-content h3{color:#fff;font-size:14px;font-weight:600;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.help-item{display:flex;align-items:center;gap:10px;padding:8px 0;color:#fffc;font-size:13px}.help-icon{font-size:16px;width:24px;text-align:center}.help-popup{min-width:280px;max-width:380px;padding:20px 20px 14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.help-popup .help-content h3{margin:0 0 12px;padding:0;border:0;color:#fff;font-size:16px;font-weight:650}.help-popup .help-item{display:grid;grid-template-columns:76px 1fr;align-items:center;gap:12px;padding:6px 0;color:#ffffffe6;font-size:14px;line-height:1.4}.help-popup .help-icon{display:grid;place-items:center;width:30px;height:30px;box-sizing:border-box;border-radius:7px;background:#ffffff29;border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 1px #ffffff59,inset 0 -2px #0000002e;color:#fff;justify-self:center}.help-popup .help-icon svg{width:20px;height:20px}.help-popup .help-icon-button{width:36px;height:36px;border-radius:50%;border:0;box-shadow:none}.help-popup .help-icon-button svg{width:18px;height:18px}.help-popup .help-item b{color:#fff;font-weight:600}.help-keys{display:grid;grid-template-columns:repeat(3,22px);gap:3px;justify-self:center}.help-key-up{grid-row:1;grid-column:2}.help-keys kbd:not(.help-key-up){grid-row:2}.help-keys kbd{display:grid;place-items:center;height:22px;border-radius:7px;background:#ffffff29;border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 1px #ffffff59,inset 0 -2px #0000002e;box-sizing:border-box;color:#fff;font:600 11px/1 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.help-popup.is-touch .help-desktop{display:none}#room-loading{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:14px}.room-loading-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.15);border-top-color:#fff;border-radius:50%;animation:spin .75s linear infinite;filter:drop-shadow(0 0 8px rgba(255,255,255,.4))}@keyframes spin{to{transform:rotate(360deg)}}.gamemode-popup{min-width:260px;padding:16px}.popup-start-btn{width:100%;margin-top:14px;padding:10px 16px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);border-radius:6px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.popup-start-btn:hover{background:#ffffff38;border-color:#fff6}.copyright-popup{min-width:260px;max-width:320px;padding:16px}.copyright-text p{color:#ffffffd9;font-size:12px;line-height:1.6;margin:0 0 8px}.settings-toggle{display:none;position:fixed;bottom:15px;right:15px;z-index:101;width:50px;height:50px;border:none;background:#ffffff26;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:50%;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0003;color:#fff;cursor:pointer;align-items:center;justify-content:center;transition:transform .3s ease,background .2s ease}.settings-toggle svg{width:24px;height:24px;transition:transform .3s ease}.settings-toggle.active{background:#ffffff40}.settings-toggle.active svg{transform:rotate(90deg)}.control-bar.mobile-hidden{opacity:0;pointer-events:none;transform:translate(20px);visibility:hidden}.minimap-container{opacity:1;position:fixed;top:15px;left:15px;z-index:90;width:300px;background:#ffffff26;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:15px;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff80,inset 0 -1px #ffffff1a,inset 0 0 22px 11px #ffffff1a;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:opacity .3s ease}#splat-minimap{background:#ffffff26;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff80,inset 0 -1px #ffffff1a,inset 0 0 22px 11px #ffffff1a}.minimap-container:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent)}.minimap-container:after{content:"";position:absolute;top:0;left:0;width:1px;height:100%;background:linear-gradient(180deg,rgba(255,255,255,.8),transparent,rgba(255,255,255,.3))}.minimap-header{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border-bottom:1px solid rgba(255,255,255,.15)}.floor-selector{opacity:1;position:fixed;bottom:15px;left:50%;transform:translate(-50%);z-index:90;display:flex;align-items:center;gap:12px;height:50px;padding:5px 20px;background:#ffffff26;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:15px;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff80,inset 0 -1px #ffffff1a,inset 0 0 22px 11px #ffffff1a;overflow:visible;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:opacity .3s ease}.floor-selector:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;border-radius:15px 15px 0 0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent)}.floor-selector-label{color:#ffffffb3;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;flex-shrink:0}.floor-selector-dropdown{position:relative}.floor-selector-trigger{display:flex;align-items:center;gap:8px;height:32px;padding:0 12px;min-width:140px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#ffffffe6;font-size:12px;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.floor-selector-trigger:hover{background:#ffffff2e}.floor-selector-trigger-text{flex:1}.floor-selector-arrow{display:flex;align-items:center;flex-shrink:0;transition:transform .2s ease}.floor-selector-trigger.open .floor-selector-arrow{transform:rotate(180deg)}.floor-selector-options{display:none;position:absolute;bottom:calc(100% + 8px);left:0;right:0;background:#171617eb;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.15);border-radius:10px;overflow:hidden;z-index:200;box-shadow:0 8px 24px #00000040}.floor-selector-options.open{display:block}.floor-selector-option{padding:9px 12px;font-size:12px;font-weight:500;color:#ffffffbf;cursor:pointer;transition:background .15s,color .15s}.floor-selector-option:hover{background:#ffffff1f}.floor-selector-option.active{font-weight:600;background:#ffffff14}@media(max-width:768px){.floor-selector{bottom:auto;top:50%;left:auto;right:15px;transform:translateY(-50%);opacity:1;height:50px;width:50px;padding:0;border-radius:50%;gap:0;justify-content:center}.floor-selector:before{display:none}.floor-selector-label{display:none}.floor-selector-dropdown{display:contents}.floor-selector-trigger{width:50px;height:50px;min-width:0;padding:0;border-radius:50%;border:none;background:none;box-shadow:none;justify-content:center}.floor-selector-trigger-text,.floor-selector-arrow{display:none}.floor-selector-trigger:after{content:"";display:block;width:20px;height:20px;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='3' y='2' width='18' height='4' rx='1'/%3E%3Crect x='3' y='10' width='18' height='4' rx='1'/%3E%3Crect x='3' y='18' width='18' height='4' rx='1'/%3E%3C/svg%3E") no-repeat center;background-size:contain}.floor-selector-options{bottom:auto;top:50%;left:auto;right:calc(100% + 8px);transform:translateY(-50%);min-width:150px}}.minimap-title{color:#fffc;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.minimap-toggle{background:none;border:none;color:#fffc;font-size:16px;cursor:pointer;padding:0 4px;line-height:1;border-radius:6px;transition:background .2s ease}.minimap-toggle:hover{background:#ffffff26}.minimap-body{overflow:hidden;padding:0;user-select:none;-webkit-user-select:none}.minimap-plan-wrapper{position:relative;width:100%}.minimap-plan{display:block;width:100%;height:100%;opacity:.7}.minimap-markers{position:absolute;top:0;left:0;width:100%;height:100%}.minimap-marker{position:absolute;transform:translate(-50%,-50%);cursor:pointer;z-index:2}.minimap-marker-dot{width:13px;height:13px;border-radius:50%;background:#fff6;transition:all .2s ease}.minimap-marker:hover .minimap-marker-dot{transform:scale(1.3)}.minimap-marker-label{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);color:#fff;font-size:9px;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.9);opacity:0;transition:opacity .2s ease;pointer-events:none}.minimap-marker:hover .minimap-marker-label{opacity:1}.minimap-viewcone{position:absolute;transform:translate(-50%,-50%);z-index:1;pointer-events:none;display:none}.client-badge{opacity:1;height:50px;position:fixed;top:15px;right:15px;z-index:90;background:#ffffff1f;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:15px;border:1px solid rgba(255,255,255,.25);box-shadow:0 8px 32px #00000026,inset 0 1px #fff6,inset 0 -1px #ffffff1a;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:all .3s ease}.client-badge:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent)}.client-badge.clickable{cursor:pointer}.client-badge.clickable:hover{background:#ffffff2e;border-color:#ffffff59;box-shadow:0 12px 40px #0003,inset 0 1px #ffffff80,inset 0 -1px #ffffff1a}.client-badge-inner{height:100%;display:flex;align-items:center;gap:12px;padding:8px 16px 8px 8px}.client-badge-logo{width:40px;height:40px;padding:6px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.client-badge-logo img{width:100%;height:100%;object-fit:contain}.client-badge-text{display:flex;flex-direction:column;gap:2px;min-width:0;justify-content:center}.client-badge-title{color:#fffffff2;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.2px}.client-badge-subtitle{color:#fff9;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-badge-link{width:20px;height:20px;color:#ffffff80;flex-shrink:0;margin-left:4px;transition:color .2s ease,transform .2s ease}.client-badge-link svg{width:100%;height:100%}.client-badge.clickable:hover .client-badge-link{color:#ffffffe6;transform:translate(2px,-2px)}.client-badge-inner:not(:has(.client-badge-logo)){padding:10px 18px}.compass-container{opacity:1;position:fixed;bottom:15px;left:15px;z-index:90;width:64px;height:64px;transition:opacity .3s ease}.compass-body{position:relative;width:100%;height:100%;border-radius:50%;background:#ffffff1f;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.25);box-shadow:0 8px 32px #00000026,inset 0 1px #fff6}.compass-pointer{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:2;pointer-events:none}.compass-dial{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.compass-letter{position:absolute;font-size:9px;font-weight:700;color:#ffffff80;pointer-events:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.compass-n{top:2px;left:50%;transform:translate(-50%);color:#ffffffe6}.compass-s{bottom:2px;left:50%;transform:translate(-50%)}.compass-e{right:4px;top:50%;transform:translateY(-50%)}.compass-w{left:4px;top:50%;transform:translateY(-50%)}@media(min-width:769px){.control-bar{opacity:1;transition:opacity .3s ease}.settings-toggle{display:none!important}}@media(max-width:768px){#canvas-container{height:100dvh}.control-bar{position:fixed;bottom:70px;flex-direction:column;gap:4px;height:auto;transition:opacity .3s ease,transform .3s ease,visibility 0s linear .3s}.control-bar.mobile-hidden{opacity:0;pointer-events:none;transform:translate(20px);visibility:hidden}.control-bar.mobile-open{opacity:1;pointer-events:auto;transform:translate(0);visibility:visible;transition:opacity .3s ease,transform .3s ease,visibility 0s linear 0s}.control-bar .control-btn{transition:opacity .2s ease,transform .2s ease}.control-bar.mobile-open .control-btn{opacity:1;transform:translate(0) scale(1)}.control-bar.mobile-open .control-btn:nth-child(1){transition-delay:.02s}.control-bar.mobile-open .control-btn:nth-child(2){transition-delay:.06s}.control-bar.mobile-open .control-btn:nth-child(3){transition-delay:.1s}.control-bar.mobile-open .control-btn:nth-child(4){transition-delay:.14s}.control-bar.mobile-open .control-btn:nth-child(5){transition-delay:.18s}.control-bar.mobile-open .control-btn:nth-child(6){transition-delay:.22s}.control-bar.mobile-open .control-btn:nth-child(7){transition-delay:.26s}.control-bar.mobile-hidden .control-btn{opacity:0;transform:translate(15px) scale(.9);transition-delay:0s}.settings-toggle{display:flex}.control-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 40px);max-width:300px}.minimap-container{opacity:1}.client-badge{opacity:1;height:50px;top:auto;bottom:15px;left:15px;max-width:calc(100% - 95px);display:flex;align-items:center;text-align:center}.client-badge-inner{height:100%;width:100%;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.client-badge-logo{width:34px;height:34px}.client-badge-text{justify-content:center}.client-badge-title{font-size:12px}.client-badge-subtitle{font-size:10px}.compass-container{top:15px;left:auto;right:15px;width:50px;height:50px}.compass-letter{font-size:7px}}.splat-intro-bar{--intro-accent: #D4AF37;position:fixed;left:50%;bottom:calc(15px + env(safe-area-inset-bottom,0px));z-index:100;transform:translate(-50%);display:flex;align-items:center;gap:12px;width:min(320px,calc(100vw - 32px));height:44px;padding:0 16px 0 5px;box-sizing:border-box;border-radius:15px;background:#ffffff26;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff80,inset 0 -1px #ffffff1a}.splat-intro-bar[hidden]{display:none}.splat-intro-toggle{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;padding:0;border:0;border-radius:11px;background:#ffffff29;color:#fff;cursor:pointer;transition:background .2s ease}.splat-intro-toggle:hover{background:#ffffff47}.splat-intro-toggle:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}.splat-intro-toggle svg{width:16px;height:16px}.splat-intro-track{position:relative;flex:1;height:20px;cursor:pointer}.splat-intro-track:before,.splat-intro-fill{content:"";position:absolute;left:0;top:50%;height:4px;border-radius:999px;transform:translateY(-50%);transition:height .15s ease}.splat-intro-track:before{right:0;background:#ffffff40}.splat-intro-fill{width:0;background:var(--intro-accent)}.splat-intro-knob{position:absolute;top:50%;left:0;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #00000059;transform:translate(-50%,-50%) scale(0);transition:transform .15s ease}.splat-intro-track:hover:before,.splat-intro-track:hover .splat-intro-fill{height:6px}.splat-intro-track:hover .splat-intro-knob{transform:translate(-50%,-50%) scale(1)}.splat-intro-bar.is-phone{left:15px;right:auto;bottom:calc(15px + env(safe-area-inset-bottom,0px));top:auto;width:calc(100% - 95px);height:50px;transform:none}body.has-poi-nav .splat-intro-bar.is-phone{width:calc(100% - 90px - var(--poi-nav-width, 92px))}@media(max-width:640px){.client-badge.is-compact{top:calc(15px + env(safe-area-inset-top,0px));bottom:auto;left:auto;right:15px;height:44px;max-width:140px}.client-badge.is-compact .client-badge-inner{padding:0 10px;gap:6px}.client-badge.is-compact .client-badge-logo{width:30px;height:30px;padding:3px}.client-badge.is-compact .client-badge-inner:has(.client-badge-logo) .client-badge-text{display:none}.client-badge.is-compact .client-badge-subtitle{display:none}}body.splat-arriving :is(.control-bar,.settings-toggle,.client-badge,#mode-toggle,#splat-mode-selector,#splat-poi-nav,#splat-minimap,.splat-intro-bar,.splat-joystick,.splat-lift){opacity:0!important;visibility:hidden!important;pointer-events:none!important}body.splat-lowmem #loader .loader-halo{animation:none}body.splat-lowmem #loader .loader-card{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#ffffff26!important;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff80,inset 0 -1px #ffffff1a,inset 0 0 22px 11px #ffffff1a}body.splat-lowmem #loader.is-leaving .loader-card{filter:none}body.splat-ui-reveal :is(.control-bar,.settings-toggle,.client-badge,#mode-toggle,#splat-mode-selector,#splat-poi-nav,#splat-minimap,.splat-intro-bar,.splat-joystick,.splat-lift){transition:opacity .4s ease,visibility 0s!important}
