:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;min-width:320px;min-height:100vh;min-height:calc(var(--vh, 1vh) * 100);overflow:hidden}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.fountain-configurator-container{width:100vw;height:100vh;height:calc(var(--vh, 1vh) * 100);background:#0c0c18;position:relative;overflow:hidden}.fountain-configurator-canvas{display:block;position:fixed;top:0;left:0;margin:0;padding:0;border:none;outline:none}.hidden{display:none}.top-navigation{position:fixed;top:0;left:0;right:0;height:60px;background:#0c0c18;border-bottom:2px solid rgba(255,255,255,.2);display:flex;align-items:center;padding:0 20px;gap:10px;z-index:1000}.top-navigation-title{color:#4db8ff;font-size:18px;margin:0;font-weight:700;flex:0 0 auto}.top-navigation-title a{color:#4db8ff}.top-navigation-spacer{flex:1}.top-navigation-button{padding:8px 12px;color:#fff;border:1px solid #4db8ff;border-radius:4px;cursor:pointer;font-size:13px}.top-navigation-button-active{background:#4db8ff}.top-navigation-button-inactive{background:#4db8ff33}.panel{position:fixed;top:60px;right:0;width:100%;max-width:340px;height:calc(100vh - 60px);height:calc(var(--vh, 1vh) * 100 - 60px);background:#141414f2;border-left:2px solid rgba(255,255,255,.2);padding:20px 20px 100px;overflow-y:auto;color:#fff;box-sizing:border-box}.panel-title{margin:0 0 20px;font-size:18px;color:#4db8ff}.info-box{padding:15px;background:#4db8ff1a;border-radius:4px;border:1px solid rgba(77,184,255,.3)}.info-box-label{font-size:13px;color:#aaa;margin-bottom:5px}.info-box-value{font-size:24px;color:#4db8ff;font-weight:700}.slider-container{margin-bottom:25px}.slider-label{display:block;color:#aaa;font-size:13px;margin-bottom:8px;text-transform:uppercase;letter-spacing:1px}.slider-value{color:#4db8ff;float:right;font-weight:700}.slider-input{width:100%;height:6px;background:#ffffff1a;border-radius:3px;outline:none}.dropdown-container{margin-bottom:25px}.dropdown-label{display:block;color:#aaa;font-size:13px;margin-bottom:8px;text-transform:uppercase;letter-spacing:1px}.dropdown-select{width:100%;padding:8px;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:4px;cursor:pointer;font-size:13px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.dropdown-select option{background-color:#1a1a1a;color:#fff;padding:8px}.dropdown-select:focus{outline:none;border-color:#fff6}.control-group{margin-bottom:25px}.control-label{display:block;color:#aaa;font-size:13px;margin-bottom:8px;text-transform:uppercase;letter-spacing:1px}.color-picker{width:100%;height:40px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;cursor:pointer;padding:4px}.section-title{font-size:14px;color:#aaa;margin-bottom:10px}.preset-button{width:100%;padding:12px;margin-bottom:8px;color:#fff;border-radius:4px;cursor:pointer;font-size:13px}.preset-button-active{background:#4db8ff;border:2px solid #4db8ff;font-weight:700}.preset-button-inactive{background:#4db8ff33;border:1px solid rgba(77,184,255,.5);font-weight:400}.info-text{font-size:13px;color:#888;line-height:1.6}.info-text p{margin:0 0 10px}.info-text ul{padding-left:20px;margin:0}.pricing-total-box{padding:20px;background:#4db8ff1a;border-radius:8px;border:2px solid rgba(77,184,255,.3);margin-bottom:25px}.pricing-total-label{font-size:14px;color:#aaa;margin-bottom:10px}.pricing-total-value{font-size:36px;color:#4db8ff;font-weight:700}.pricing-breakdown{margin-bottom:25px}.price-item{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1)}.price-item-label{font-size:13px;color:#fff}.price-item-details{font-size:11px;color:#888}.price-item-total{font-size:14px;color:#4db8ff;font-weight:700}.timeline-box{padding:15px;background:#00ff641a;border-radius:4px;border:1px solid rgba(0,255,100,.3);margin-bottom:20px}.timeline-label{font-size:13px;color:#aaa;margin-bottom:8px}.timeline-value{font-size:20px;color:#0f0;font-weight:700}.timeline-details{font-size:12px;color:#888;margin-top:5px}.traditional-timeline-box{padding:15px;background:#ff64641a;border-radius:4px;border:1px solid rgba(255,100,100,.3)}.traditional-timeline-label{font-size:13px;color:#aaa;margin-bottom:8px}.traditional-timeline-value{font-size:20px;color:#f66;font-weight:700}.traditional-timeline-details{font-size:12px;color:#888;margin-top:5px}.quote-button{width:100%;padding:15px;margin-top:25px;background:#4db8ff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:700}.loading-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0c0c18;display:flex;align-items:center;justify-content:center;z-index:9999;font-family:Courier New,Courier,monospace;opacity:1;transition:opacity .5s ease-out}.loading-screen.fade-out{opacity:0;pointer-events:none}.loading-container{padding:40px;background:#4db8ff0d;border-radius:8px;border:2px solid rgba(77,184,255,.4);box-shadow:0 0 20px #4db8ff4d,inset 0 0 20px #4db8ff0d;min-width:600px;animation:glow-pulse 2s ease-in-out infinite}@keyframes glow-pulse{0%,to{box-shadow:0 0 20px #4db8ff4d,inset 0 0 20px #4db8ff0d}50%{box-shadow:0 0 30px #4db8ff80,inset 0 0 30px #4db8ff14}}.loading-header{text-align:center;font-size:18px;color:#4db8ff;font-weight:700;letter-spacing:3px;margin-bottom:30px;text-shadow:0 0 10px rgba(77,184,255,.8);animation:text-glow 1.5s ease-in-out infinite}@keyframes text-glow{0%,to{text-shadow:0 0 10px rgba(77,184,255,.8)}50%{text-shadow:0 0 20px rgba(77,184,255,1)}}.loading-content{display:flex;flex-direction:column;gap:15px}.loading-stage{display:flex;align-items:center;gap:10px;font-size:14px;color:#aaa;letter-spacing:1px}.loading-bullet{color:#4db8ff;font-size:18px;text-shadow:0 0 5px rgba(77,184,255,.6);flex-shrink:0}.loading-text{flex:0 0 280px;text-transform:uppercase}.loading-bar{font-size:14px;color:#4db8ff;letter-spacing:2px;text-shadow:0 0 8px rgba(77,184,255,.6);flex-shrink:0;font-weight:700}.loading-status{color:#4db8ff;font-weight:700;min-width:80px;text-align:right;text-shadow:0 0 5px rgba(77,184,255,.6);flex-shrink:0}.loading-footer{text-align:center;font-size:16px;color:#4db8ff;font-weight:700;letter-spacing:2px;margin-top:30px;text-shadow:0 0 10px rgba(77,184,255,.8);animation:countdown-pulse 1s ease-in-out infinite}@keyframes countdown-pulse{0%,to{transform:scale(1);text-shadow:0 0 10px rgba(77,184,255,.8)}50%{transform:scale(1.05);text-shadow:0 0 20px rgba(77,184,255,1)}}@media (max-width: 768px){.loading-container{min-width:unset;width:calc(100% - 32px);max-width:500px;margin:0 16px;padding:24px 16px}.loading-header{font-size:13px;letter-spacing:1.5px;margin-bottom:20px}.loading-content{gap:12px}.loading-stage{flex-wrap:nowrap;font-size:10px;gap:6px}.loading-bullet{font-size:14px;flex:0 0 auto}.loading-text{flex:0 0 120px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loading-bar{flex:1 1 auto;font-size:10px;letter-spacing:1px;text-align:center}.loading-status{flex:0 0 55px;text-align:right;font-size:10px}.loading-footer{font-size:13px;letter-spacing:1.5px;margin-top:20px}}@media (max-width: 400px){.loading-container{padding:20px 12px}.loading-header{font-size:11px;letter-spacing:1px}.loading-stage{font-size:9px;gap:4px}.loading-bullet{font-size:12px;flex:0 0 auto}.loading-text{flex:0 0 100px}.loading-bar{font-size:9px}.loading-status{flex:0 0 50px;font-size:9px}.loading-footer{font-size:12px}}.mobile-memory-warning{position:fixed;top:60px;left:0;right:0;z-index:9998;padding:12px 16px;background:linear-gradient(135deg,#ff6b35,#f7931e);box-shadow:0 4px 12px #0000004d;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.mobile-memory-warning-content{display:flex;align-items:center;gap:12px;max-width:1200px;margin:0 auto}.mobile-memory-warning-icon{font-size:24px;flex-shrink:0;line-height:1}.mobile-memory-warning-text{flex:1;color:#fff;font-size:14px;font-weight:500;line-height:1.4;text-shadow:0 1px 2px rgba(0,0,0,.2)}.mobile-memory-warning-dismiss{background:#fff3;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:700;cursor:pointer;flex-shrink:0;transition:background .2s ease}.mobile-memory-warning-dismiss:hover{background:#ffffff4d}.mobile-memory-warning-dismiss:active{background:#fff6;transform:scale(.95)}@media (max-width: 768px){.mobile-memory-warning{top:50px;padding:10px 12px}.mobile-memory-warning-content{gap:8px}.mobile-memory-warning-icon{font-size:20px}.mobile-memory-warning-text{font-size:13px}.mobile-memory-warning-dismiss{width:28px;height:28px;font-size:16px}}@media (max-width: 400px){.mobile-memory-warning-text{font-size:12px}}.landing-page{width:100vw;height:100vh;height:calc(var(--vh, 1vh) * 100);background:linear-gradient(135deg,#0a0a15,#1a1a2e);display:flex;align-items:center;justify-content:center;overflow:hidden}.landing-content{text-align:center;animation:fadeIn 1.5s ease-in}.landing-title{font-size:120px;font-weight:900;letter-spacing:20px;color:#4db8ff;margin:0;text-shadow:0 0 40px rgba(77,184,255,.5);animation:glow 3s ease-in-out infinite alternate}.landing-subtitle{font-size:24px;font-weight:300;letter-spacing:8px;color:#fffc;margin:30px 0 0;text-transform:uppercase}@keyframes glow{0%{text-shadow:0 0 40px rgba(77,184,255,.5)}to{text-shadow:0 0 60px rgba(77,184,255,.8),0 0 80px rgba(77,184,255,.4)}}@media (max-width: 768px){.landing-title{font-size:60px;letter-spacing:10px}.landing-subtitle{font-size:16px;letter-spacing:4px}}.auth-gate{width:100vw;height:100vh;height:calc(var(--vh, 1vh) * 100);background:linear-gradient(135deg,#0a0a15,#1a1a2e);display:flex;align-items:center;justify-content:center;overflow:hidden}.auth-content{text-align:center;animation:fadeIn 1s ease-in}.auth-title{font-size:80px;font-weight:900;letter-spacing:15px;color:#4db8ff;margin:0 0 10px;text-shadow:0 0 40px rgba(77,184,255,.5)}.auth-subtitle{font-size:18px;font-weight:300;letter-spacing:4px;color:#fff9;margin:0 0 50px;text-transform:uppercase}.auth-form{display:flex;flex-direction:column;align-items:center;gap:20px}.auth-input{width:300px;padding:15px 20px;font-size:16px;background:#ffffff0d;border:2px solid rgba(77,184,255,.3);border-radius:8px;color:#fff;text-align:center;outline:none;transition:all .3s ease}.auth-input:focus{border-color:#4db8ff;background:#ffffff14;box-shadow:0 0 20px #4db8ff33}.auth-input::placeholder{color:#ffffff4d}.auth-input-error{border-color:#f44;animation:shake .3s ease}.auth-error{color:#f44;font-size:14px;margin:-10px 0 0}.auth-button{padding:15px 60px;font-size:16px;font-weight:600;letter-spacing:2px;text-transform:uppercase;background:#4db8ff;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease}.auth-button:hover{background:#3da8ef;box-shadow:0 0 30px #4db8ff66;transform:translateY(-2px)}.auth-button:active{transform:translateY(0)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}@media (max-width: 768px){.auth-title{font-size:50px;letter-spacing:10px}.auth-subtitle{font-size:14px;letter-spacing:3px}.auth-input{width:250px}}#root{width:100%;height:100vh;height:calc(var(--vh, 1vh) * 100);margin:0;padding:0;overflow:hidden}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
