:root{--accent-color: #d1b89c;--bg-glass: rgba(18, 18, 18, .4);--border-glass: rgba(255, 255, 255, .1);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7);--font-family: "Outfit", sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{height:auto;overflow-y:auto;font-family:var(--font-family);background-color:#0c0c0c;color:var(--text-primary);-webkit-font-smoothing:antialiased}body::-webkit-scrollbar{width:0}body{scrollbar-width:none}canvas{position:fixed;top:0;left:0;z-index:1}#ui-layer{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:40px}#ui-layer>*{pointer-events:auto}header{display:flex;justify-content:space-between;align-items:center}.logo{font-size:24px;font-weight:600;letter-spacing:2px;text-transform:uppercase}.logo .plan{color:#000}.logo .shift{color:var(--accent-color)}.menu-icon{width:30px;height:20px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer}.menu-icon span{width:100%;height:2px;background-color:var(--text-primary)}#info-overlay{display:flex;align-items:center;max-width:500px}.content-wrapper{padding:30px;background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-glass);border-radius:4px;transition:all .5s cubic-bezier(.16,1,.3,1)}#room-name{font-size:42px;font-weight:300;margin-bottom:20px;letter-spacing:-.5px}#room-description{font-size:16px;line-height:1.6;color:var(--text-secondary);font-weight:300;margin-bottom:30px}#reveal-container{margin-top:20px;transition:opacity .5s ease}.hidden{opacity:0;pointer-events:none;transform:translateY(10px)}#reveal-btn{background:none;border:1px solid var(--accent-color);color:var(--accent-color);padding:12px 24px;border-radius:100px;cursor:pointer;display:flex;align-items:center;gap:12px;font-family:var(--font-family);font-size:14px;transition:all .3s ease}#reveal-btn:hover{background:var(--accent-color);color:#1a1a1a}.reveal-icon{width:8px;height:8px;background-color:currentColor;border-radius:50%;box-shadow:0 0 10px var(--accent-color)}#restart-tour-btn{background:var(--accent-color);border:none;color:#1a1a1a;padding:12px 24px;border-radius:100px;cursor:pointer;display:flex;align-items:center;gap:12px;font-family:var(--font-family);font-size:14px;transition:all .3s ease;margin-top:10px}#restart-tour-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #d1b89c66}.restart-icon{width:12px;height:12px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;position:relative}.restart-icon:after{content:"";position:absolute;top:-2px;right:-2px;border:4px solid transparent;border-bottom-color:currentColor;transform:rotate(45deg)}#reveal-details{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-glass)}.cost-item{display:flex;justify-content:space-between;font-size:18px}.item-label{color:var(--text-secondary);font-weight:300}.item-value{color:var(--accent-color);font-weight:600}footer{display:flex;justify-content:space-between;align-items:flex-end;font-size:14px;font-weight:300}.project-info{cursor:pointer;transition:opacity .3s ease}.project-info:hover{opacity:.7}.controls-hint{color:var(--text-secondary)}#scroll-nav{position:fixed;right:40px;top:50%;transform:translateY(-50%);height:200px;display:flex;align-items:center;overflow:hidden;mask-image:linear-gradient(to bottom,transparent,black 20%,black 80%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,black 20%,black 80%,transparent)}.nav-dots{display:flex;flex-direction:column;gap:20px;transition:transform .6s cubic-bezier(.16,1,.3,1);padding:100px 0}.dot{width:6px;height:6px;border-radius:50%;background-color:var(--text-secondary);transition:all .3s ease;cursor:pointer}.dot.active{background-color:var(--accent-color);transform:scale(1.5);box-shadow:0 0 10px var(--accent-color)}#plan-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:100;display:flex;justify-content:center;align-items:center;transition:all .5s ease}#plan-modal.hidden{opacity:0;pointer-events:none}.modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-content{position:relative;z-index:101;max-width:90%;max-height:90%;transform:scale(1);transition:transform .5s cubic-bezier(.16,1,.3,1);overflow:auto;border-radius:4px;background:#000;cursor:zoom-in}#plan-modal.hidden .modal-content{transform:scale(.9)}#plan-image{display:block;width:100%;height:auto;transition:width .3s ease}.modal-content.zoomed{cursor:zoom-out;max-width:95%;max-height:95%}.modal-content.zoomed #plan-image{width:200%}#close-modal{position:fixed;top:40px;right:40px;z-index:102;background:var(--accent-color);border:none;width:40px;height:40px;border-radius:50%;color:#1a1a1a;font-size:24px;cursor:pointer;display:flex;justify-content:center;align-items:center;box-shadow:0 4px 15px #0000004d;transition:all .3s ease}.zoom-hint{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#0009;padding:8px 16px;border-radius:100px;font-size:12px;color:var(--text-secondary);pointer-events:none;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid var(--border-glass);white-space:nowrap}#close-modal:hover{transform:rotate(90deg) scale(1.1)}.cost-item.hidden{display:none}.scroll-space{width:1px}#intro-screen,#loading-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;background:#000;transition:opacity 1s cubic-bezier(.16,1,.3,1),visibility 1s}#loading-screen{z-index:9998;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px}#loading-status{font-size:18px;font-weight:300;color:var(--text-primary);letter-spacing:4px;text-transform:uppercase;margin-bottom:5px;animation:pulse 2s infinite ease-in-out}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}#loading-screen.hidden,#intro-screen.fade-out{opacity:0;visibility:hidden}.loading-bar-bg{width:300px;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;position:relative}#loading-bar-fill{width:0%;height:100%;background:var(--accent-color);box-shadow:0 0 15px var(--accent-color);transition:width .3s ease}#loading-text{font-size:14px;font-weight:300;color:var(--text-secondary);letter-spacing:2px;text-transform:uppercase}#intro-screen.fade-out{opacity:0;visibility:hidden}spline-viewer{width:100%;height:100%;display:block;overflow:hidden}#ui-layer{transition:opacity 1s ease}#ui-layer.hidden{opacity:0;pointer-events:none}
