:root{font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#0a0a0f;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{width:100%;height:100%;overflow:hidden}.demo-tour-btn{position:fixed;top:20px;right:20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #6366f14d;z-index:1000;pointer-events:auto;transition:transform .2s}.demo-tour-btn:hover{transform:translateY(-2px)}.demo-tour-controls{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:#14141ecc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:16px 24px;border-radius:12px;display:flex;flex-direction:column;gap:12px;min-width:300px;pointer-events:auto;z-index:1000}.demo-status{color:#fff;font-size:14px;text-align:center;font-weight:500}.demo-progress{width:100%;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.demo-progress-bar{height:100%;background:#6366f1;transition:width .1s linear}.demo-stop-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.1);color:#fff;padding:8px;border-radius:6px;cursor:pointer;font-size:12px;transition:background .2s}.demo-stop-btn:hover{background:#ff464633;border-color:#ff464666}.controls{position:fixed;top:20px;left:20px;background:#0f0f14d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px;border-radius:16px;color:#fff;font-family:Inter,system-ui,sans-serif;min-width:200px;box-shadow:0 8px 32px #0000004d;border:1px solid rgba(255,255,255,.1);z-index:100}.control-group{margin-bottom:16px}.control-group label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#fff9;margin-bottom:8px}.button-group{display:flex;gap:4px}.button-group button,.roof-toggle{flex:1;padding:10px 12px;border:none;border-radius:8px;background:#ffffff1a;color:#fff;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.button-group button:hover,.roof-toggle:hover{background:#fff3}.button-group button.active,.roof-toggle.active{background:linear-gradient(135deg,#667eea,#764ba2)}.roof-toggle{width:100%}select{width:100%;padding:10px 12px;border:none;border-radius:8px;background:#ffffff1a;color:#fff;font-size:13px;cursor:pointer}select option{background:#1a1a2e;color:#fff}.zone-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px}.zone-btn{padding:8px 10px;border:2px solid;border-radius:8px;background:#ffffff0d;color:#fff;cursor:pointer;font-size:12px;transition:all .2s ease}.zone-btn:hover{background:#ffffff26}.zone-btn.active{background:#fff3}.zone-indicator{margin-top:16px;padding:12px;background:#ffffff0d;border-radius:8px;text-align:center;font-size:14px;font-weight:500}.cta-button{position:fixed;bottom:30px;right:30px;display:flex;align-items:center;gap:10px;padding:16px 28px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;border-radius:50px;font-family:Inter,system-ui,sans-serif;font-size:16px;font-weight:600;box-shadow:0 8px 32px #667eea66;transition:all .3s ease;z-index:100}.cta-button:hover{transform:translateY(-3px);box-shadow:0 12px 40px #667eea80}.cta-button:active{transform:translateY(-1px)}.cta-icon{font-size:20px}.cta-text{letter-spacing:.5px}@keyframes pulse{0%,to{box-shadow:0 8px 32px #667eea66}50%{box-shadow:0 8px 32px #667eea99,0 0 0 8px #667eea1a}}.cta-button{animation:pulse 2s ease-in-out infinite}.cta-button:hover{animation:none}.plan-viewer-toggle{position:fixed;bottom:90px;right:24px;padding:12px 20px;background:#1e1e28d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;z-index:100}.plan-viewer-toggle:hover{background:#32323ce6;transform:translateY(-2px)}.plan-viewer-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.plan-viewer-modal{background:#1e1e28f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;border:1px solid rgba(255,255,255,.1);width:90%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.plan-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.plan-viewer-header h2{margin:0;font-size:18px;font-weight:600;color:#fff}.plan-viewer-close{width:32px;height:32px;background:#ffffff1a;border:none;border-radius:8px;color:#fff;font-size:16px;cursor:pointer;transition:background .2s}.plan-viewer-close:hover{background:#fff3}.plan-viewer-tabs{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid rgba(255,255,255,.05)}.plan-tab{padding:8px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ffffffb3;font-size:13px;cursor:pointer;transition:all .2s}.plan-tab:hover{background:#ffffff1a;color:#fff}.plan-tab.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:transparent;color:#fff}.plan-viewer-content{flex:1;overflow:auto;padding:20px;display:flex;align-items:center;justify-content:center;min-height:300px}.plan-image-container{transition:transform .2s ease;transform-origin:center center}.plan-svg{width:100%;max-width:600px;height:auto;background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d}.plan-viewer-controls{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 20px;border-top:1px solid rgba(255,255,255,.1)}.plan-viewer-controls button{width:36px;height:36px;background:#ffffff1a;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:18px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.plan-viewer-controls button:hover{background:#fff3}.zoom-level{color:#ffffffb3;font-size:13px;min-width:50px;text-align:center}.zone-indicator{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#1e1e2899;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);padding:8px 16px;border-radius:20px;display:flex;align-items:center;gap:8px;z-index:100;pointer-events:none;transition:all .3s ease}.zone-dot{width:8px;height:8px;background-color:#6366f1;border-radius:50%;box-shadow:0 0 8px #6366f199;animation:pulse 2s infinite}.zone-name{color:#fff;font-size:13px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}@keyframes pulse{0%{transform:scale(.95);opacity:.7}50%{transform:scale(1.1);opacity:1}to{transform:scale(.95);opacity:.7}}*{margin:0;padding:0;box-sizing:border-box}html,body,#root,.app{width:100%;height:100%;overflow:hidden}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:#0a0a0f}.app{position:relative}.instructions{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:#0f0f14cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 20px;border-radius:12px;color:#ffffffb3;font-size:12px;display:flex;gap:24px;border:1px solid rgba(255,255,255,.1);z-index:50}.instructions p{white-space:nowrap}.instructions strong{color:#ffffffe6}
