@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}html{width:100%;height:100%;overflow:hidden}body{width:100%;height:100%;overflow:hidden;user-select:none;-webkit-user-select:none;position:fixed;inset:0;height:100dvh;min-height:-webkit-fill-available}#root{width:100%;height:100%;overflow:hidden;user-select:none;-webkit-user-select:none}.header{position:absolute;top:0;left:0;width:100%;padding:clamp(.5rem,2vh,1.5rem) 1rem clamp(1rem,4vh,2.5rem) 1rem;color:#fff;text-align:center;z-index:1100;pointer-events:none;overflow:hidden}.header:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.5) 0%,transparent 100%);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);mask-image:linear-gradient(to bottom,black,transparent);-webkit-mask-image:linear-gradient(to bottom,black,transparent);z-index:-1}.main-logo{height:clamp(20px,5vw,48px);width:auto;margin-bottom:clamp(.25rem,.5rem,.5rem);filter:drop-shadow(2px 2px 3px rgba(0,0,0,.5))}.showhouse-title{font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:500;letter-spacing:.2rem;text-transform:uppercase;margin:0;font-size:clamp(.4rem,2.5vw,1.1rem);text-shadow:2px 2px 3px rgba(0,0,0,.5);white-space:nowrap}.header .subtitle{font-family:Inter,system-ui,-apple-system,sans-serif;font-size:clamp(.4rem,1.5vw,.7rem);font-weight:300;letter-spacing:.1rem;text-transform:uppercase;margin-top:clamp(.25rem,1vh,1rem);opacity:.8;text-shadow:1px 1px 2px rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;gap:.5rem}.header-logo{height:clamp(7px,2vw,14px);width:auto;margin-top:-2px}.footer{position:absolute;bottom:0;left:0;width:100%;padding:clamp(.5rem,2vh,1.5rem) 1rem clamp(1rem,3vh,2rem) 1rem;display:flex;justify-content:center;gap:clamp(.1rem,4vw,3rem);z-index:10;pointer-events:none;overflow:hidden}.footer:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.5) 0%,transparent 100%);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);mask-image:linear-gradient(to top,black,transparent);-webkit-mask-image:linear-gradient(to top,black,transparent);z-index:-1}.option-button{background:none;border:none;color:#fff;font-family:Inter,sans-serif;font-size:clamp(.6rem,1.5vw,.8rem);font-weight:500;text-transform:uppercase;letter-spacing:clamp(.05rem,.2vw,.15rem);cursor:pointer;opacity:.9;transition:all .3s ease;pointer-events:auto;padding:clamp(.2rem,1vh,.4rem) clamp(.4rem,1vw,.8rem);text-shadow:2px 2px 4px rgba(0,0,0,.5)}.option-button:hover{opacity:1;transform:translateY(-5px)}.option-button.active{opacity:1;font-weight:700;border-bottom:1px solid white}.help-trigger{position:absolute;top:2rem;right:2rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s ease;z-index:1200;pointer-events:auto}.help-trigger:hover{background:#fff3;transform:scale(1.1)}.help-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:fadeInOverlay .4s ease forwards}.help-content{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);padding:3rem;border-radius:2rem;width:90%;max-width:500px;position:relative;color:#fff;box-shadow:0 8px 32px #0000005e;animation:unblurFadeIn .6s cubic-bezier(.22,1,.36,1) forwards}.help-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;color:#fff;font-size:2rem;line-height:1;cursor:pointer;opacity:.6;transition:opacity .3s}.help-close:hover{opacity:1}.help-content h2{font-family:Inter,sans-serif;font-weight:500;letter-spacing:.3rem;text-align:center;margin-bottom:2.5rem;font-size:1.2rem}.help-grid{display:flex;flex-direction:column;gap:2rem}.help-item{display:flex;align-items:center;gap:1.5rem}.help-icon{width:48px;height:48px;background:#ffffff1a;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.help-text{display:flex;flex-direction:column;gap:.3rem;font-family:Inter,system-ui,-apple-system,sans-serif}.help-text strong{font-size:.95rem;font-weight:500;letter-spacing:.15rem;text-transform:uppercase;color:#ffffffe6}.help-text span{font-size:.8rem;opacity:.6;font-weight:300;letter-spacing:.02rem;line-height:1.4}@keyframes fadeInOverlay{0%{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}}@keyframes unblurFadeIn{0%{opacity:0;filter:blur(20px);transform:scale(.98)}to{opacity:1;filter:blur(0);transform:scale(1)}}@media(max-width:768px),(orientation:portrait){.help-trigger,.help-overlay{display:none!important}}.mobile-menu-trigger{display:none}.options-container{display:flex;justify-content:center;gap:clamp(.5rem,1.5vw,3rem)}@media(max-width:1024px){.footer{flex-direction:column;justify-content:flex-end;pointer-events:none;padding-bottom:max(2rem,env(safe-area-inset-bottom,1rem));overflow:visible;z-index:1100}.mobile-menu-trigger{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#0009;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);color:#fff;padding:.75rem 1.5rem;border-radius:2rem;font-family:Inter,sans-serif;text-transform:uppercase;letter-spacing:.1rem;font-size:.9rem;cursor:pointer;pointer-events:auto;transition:all .3s ease;z-index:20;min-width:200px;margin-bottom:env(safe-area-inset-bottom,0)}.current-room{font-weight:500}.chevron{transition:transform .3s ease}.chevron.rotated{transform:rotate(180deg)}.options-container{position:fixed;bottom:auto;top:50%;left:50%;transform:translate(-50%,-50%) translateY(20px);background:#000000e6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:1rem;padding:.5rem;display:flex;flex-direction:column;gap:0;width:max-content;min-width:200px;max-width:90vw;box-sizing:border-box;max-height:min(80vh,450px);max-height:min(80dvh,450px);overflow-y:auto;overflow-x:hidden;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);pointer-events:auto;z-index:1200;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.options-container:before{content:"";display:block;height:0;flex-shrink:0}.options-container:after{content:"";display:block;height:0;flex-shrink:0}.footer.expanded .options-container{opacity:1;visibility:visible;transform:translate(-50%,-50%) translateY(0)}.footer:not(.expanded) .options-container{display:none}.option-button{padding:clamp(.4rem,1.5vh,.75rem) 1rem;width:100%;text-align:center;border-bottom:1px solid rgba(255,255,255,.1);font-size:clamp(.75rem,2vh,.9rem);flex-shrink:0;line-height:1.3;min-height:36px}.option-button:first-child{border-radius:.5rem .5rem 0 0}.option-button:last-child{border-bottom:none;border-radius:0 0 .5rem .5rem}.option-button.active{background:#ffffff1a;border-bottom:1px solid rgba(255,255,255,.1)}}@media(max-width:1024px)and (max-height:667px){.option-button{padding:clamp(.3rem,1vh,.5rem) 1rem;font-size:clamp(.7rem,1.8vh,.85rem);min-height:32px}.options-container{max-height:min(85vh,400px);max-height:min(85dvh,400px)}}.canvas-container{width:100%;height:100%;transition:opacity 1s ease-in}.fade-in{opacity:1}.fade-out{opacity:0}.loader-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:5;opacity:0;transition:opacity .3s ease;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:1rem}.loader-container.visible{opacity:1}.spinner{width:40px;height:40px;border:2px solid rgba(255,255,255,.1);border-radius:50%;border-top-color:#fff;animation:spin .8s ease-in-out infinite}.loading-text{color:#fff;font-family:Inter,sans-serif;font-size:.7rem;letter-spacing:.2rem;text-transform:uppercase;opacity:.7}@keyframes spin{to{transform:rotate(360deg)}}
