:root{--neon-pink: #ff00cc;--neon-cyan: #00f5ff;--neon-green: #00ff9d;--neon-purple: #bf00ff;--neon-deep-purple: #6a00ff;--neon-red: #ff0055;--dark-bg: #0d001a;--darker-bg: #05000a;--text-color: #e0e0ff;--glow-intensity: 0 0 10px, 0 0 20px, 0 0 30px;--input-bg: rgba(20, 0, 40, .9)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:JetBrains Mono,monospace;background-color:var(--darker-bg);color:var(--text-color);overflow-x:hidden;overflow-y:auto;width:100vw;min-height:100vh;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation}#mapCanvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;opacity:0;animation:fadeIn 2s ease-in forwards}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15),rgba(0,0,0,.15) 1px,transparent 1px,transparent 2px);pointer-events:none;z-index:3;animation:scanline 8s linear infinite}@keyframes scanline{0%{transform:translateY(0)}to{transform:translateY(10px)}}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.05'/%3E%3C/svg%3E");pointer-events:none;z-index:2;opacity:.3}.container{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;height:auto;padding:2rem}.typewriter-container{margin-bottom:4rem;text-align:center}.main-text{font-family:Codystar,cursive;font-weight:700;letter-spacing:.1em;color:#fff;text-shadow:0 0 10px var(--neon-purple),0 0 25px var(--neon-purple),0 0 45px var(--neon-deep-purple);position:relative;display:flex;flex-direction:column;align-items:center;gap:clamp(.5rem,1vw,1rem);line-height:1.3}.main-text .line{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(.5rem,2vw,1.5rem)}.main-text .word{display:inline-flex;gap:0;white-space:nowrap;position:relative}.main-text .word:before{content:attr(data-word);visibility:hidden;white-space:nowrap;font-size:inherit;position:absolute;top:0;left:0;pointer-events:none}.main-text .letter{display:inline-block;opacity:0}.main-text .letter.visible{animation:fadeIn .3s ease-in forwards}@keyframes fadeIn{to{opacity:1}}.main-text .cursor{display:inline-block;opacity:0;animation:blink 1s step-end infinite;margin-left:.1em;vertical-align:baseline}.main-text .cursor.active{opacity:1}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.main-text.glitch{animation:glitch .3s cubic-bezier(.25,.46,.45,.94) both infinite}@keyframes glitch{0%{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}to{transform:translate(0)}}@keyframes signalFlicker{0%,to{opacity:1}2%,8%,15%,23%,40%,56%,72%,89%{opacity:.98}4%,12%,18%,26%,43%,60%,76%,91%{opacity:1}6%,14%,21%,35%,48%,65%,82%,94%{opacity:.96}}.cta-container{text-align:center;opacity:0;transform:translateY(20px);padding:2rem 2.5rem;background:#0a001499;border:1px solid rgba(191,0,255,.3);box-shadow:0 0 30px #bf00ff26,inset 0 0 30px #6400ff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);clip-path:polygon(20px 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%,0 20px);position:relative}.cta-container:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border:1px solid var(--neon-purple);opacity:.5;clip-path:polygon(20px 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%,0 20px);pointer-events:none}.cta-container.visible{animation:slideUp .8s ease-out forwards}@keyframes slideUp{to{opacity:1;transform:translateY(0)}}.form-wrapper{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap;justify-content:center;align-items:stretch}.city-select{font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:700;padding:1rem 3rem 1rem 1.5rem;background:var(--input-bg);border:2px solid var(--neon-purple);color:var(--neon-cyan);border-radius:2px;outline:none;transition:all .3s ease;min-width:200px;box-shadow:0 0 15px #bf00ff33,inset 0 0 10px #bf00ff1a;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23bf00ff' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;clip-path:polygon(10px 0,100% 0,100% 100%,0 100%,0 10px)}.city-select:focus{border-color:var(--neon-cyan);box-shadow:0 0 30px #00f5ff66,inset 0 0 20px #00f5ff1a;text-shadow:0 0 5px var(--neon-cyan)}.city-select option{background:#05050ffa;color:var(--neon-cyan);padding:.5rem;font-weight:700}.email-input{font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:700;padding:1rem 1.5rem;background:var(--input-bg);border:2px solid var(--neon-purple);color:var(--neon-cyan);border-radius:2px;outline:none;transition:all .3s ease;min-width:280px;box-shadow:0 0 15px #bf00ff33,inset 0 0 10px #bf00ff1a;clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%)}.email-input:focus{border-color:var(--neon-cyan);box-shadow:0 0 30px #00f5ff66,inset 0 0 20px #00f5ff1a}.email-input::placeholder{color:#bf00ff80;font-weight:400}.custom-city-input{font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:700;padding:1rem 1.5rem;background:var(--input-bg);border:2px solid var(--neon-purple);color:var(--neon-cyan);border-radius:2px;outline:none;transition:all .3s ease;min-width:200px;box-shadow:0 0 15px #bf00ff33,inset 0 0 10px #bf00ff1a;clip-path:polygon(10px 0,100% 0,100% 100%,0 100%,0 10px)}.custom-city-input:focus{border-color:var(--neon-cyan);box-shadow:0 0 30px #00f5ff66,inset 0 0 20px #00f5ff1a}.custom-city-input::placeholder{color:#bf00ff80;font-weight:400}.submit-btn{font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:900;padding:1rem 2rem;background:var(--neon-purple);background:linear-gradient(135deg,var(--neon-deep-purple),var(--neon-purple));color:#fff;border:1px solid var(--neon-cyan);border-radius:2px;cursor:pointer;position:relative;overflow:hidden;transition:all .2s ease;box-shadow:0 0 20px #bf00ff66;text-transform:uppercase;letter-spacing:.15em;clip-path:polygon(15px 0,100% 0,100% 100%,0 100%,0 15px)}.submit-btn:hover{background:var(--neon-cyan);color:var(--darker-bg);box-shadow:0 0 30px #00f5ffcc,0 0 60px #bf00ff66;transform:translateY(-2px) scale(1.02);border-color:var(--neon-purple)}.submit-btn:active{transform:translateY(0)}.submit-btn:hover{animation:btnGlitch .3s ease-in-out}@keyframes btnGlitch{0%,to{transform:translateY(-2px)}25%{transform:translate(-2px,-4px)}75%{transform:translate(2px,-4px)}}.tagline{font-size:.9rem;color:#e0e0e0b3;letter-spacing:.15em;text-transform:uppercase;margin-top:1.5rem}.headline-container{text-align:center;margin-bottom:3rem;padding:1.75rem 2rem;background:#05050f47;border:1px solid rgba(0,255,255,.18);box-shadow:0 0 30px #00ffff1a,inset 0 0 26px #00ffff0f;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))}.headline{font-family:JetBrains Mono,monospace;font-size:2.5rem;font-weight:900;color:var(--neon-cyan);text-shadow:0 0 10px var(--neon-cyan),0 0 20px var(--neon-cyan),0 0 30px var(--neon-cyan);margin-bottom:2rem;line-height:1.4;letter-spacing:.05em;animation:subtleGlow 4s ease-in-out infinite}.subheadline{font-family:JetBrains Mono,monospace;font-size:1.2rem;font-weight:700;color:var(--neon-pink);line-height:2;margin-bottom:2rem;display:flex;flex-direction:column;gap:1rem}.subheadline .subline{display:block;text-shadow:0 0 8px var(--neon-pink)}.body-text{font-family:JetBrains Mono,monospace;font-size:1rem;color:#e0e0e0d9;line-height:2;margin-bottom:2rem}.input-label{font-family:JetBrains Mono,monospace;font-size:1.1rem;font-weight:700;color:var(--neon-green);text-shadow:0 0 8px var(--neon-green);margin-bottom:1rem;letter-spacing:.05em}@keyframes subtleGlow{0%,to{text-shadow:0 0 10px var(--neon-cyan),0 0 20px var(--neon-cyan),0 0 30px var(--neon-cyan)}50%{text-shadow:0 0 15px var(--neon-cyan),0 0 30px var(--neon-cyan),0 0 45px var(--neon-cyan)}}@media(max-width:768px){.form-wrapper{flex-direction:column;align-items:stretch}.city-select,.custom-city-input,.email-input{min-width:auto;width:100%}.submit-btn{width:100%}.headline-container{margin-bottom:2rem;padding:1.25rem 1.5rem}.main-text{gap:clamp(.3rem,1.5vw,.8rem)}.main-text .line{gap:clamp(.3rem,1.5vw,1rem)}.subheadline{font-size:1rem}.body-text{font-size:.9rem;line-height:1.8}.input-label{font-size:1rem}.cta-container{padding:1.5rem 1.25rem}.form-wrapper{gap:.75rem}}.submit-btn.loading{pointer-events:none;opacity:.6}.submit-btn.loading:after{content:"...";animation:dots 1.5s steps(4,end) infinite}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.form-message{margin-top:1.5rem;padding:1.25rem 1.75rem;border-radius:0;font-family:JetBrains Mono,monospace;font-size:.95rem;font-weight:700;text-align:left;opacity:0;display:none;transform:translateY(-10px);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;letter-spacing:.05em;clip-path:polygon(15px 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%,0 15px)}.form-message.visible{opacity:1;transform:translateY(0)}.form-message:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:scanEffect 2s ease-in-out}@keyframes scanEffect{0%{left:-100%}to{left:100%}}.form-message .message-title{display:block;font-size:1.1rem;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.1em}.form-message .message-body{display:block;font-size:.85rem;opacity:.9;line-height:1.6;font-weight:400}.form-message.success{background:#00ff9d14;border:2px solid var(--neon-green);color:var(--neon-green);box-shadow:0 0 20px #00ff9d33,inset 0 0 20px #00ff9d0d}.form-message.success .message-title:before{content:"> ";color:var(--neon-cyan)}.form-message.error{background:#ff005514;border:2px solid var(--neon-red);color:var(--neon-red);box-shadow:0 0 20px #f053,inset 0 0 20px #ff00550d;animation:errorShake .4s ease-in-out}.form-message.error .message-title:before{content:"⚠ ";color:var(--neon-pink)}@keyframes errorShake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}
