*{margin:0;padding:0;box-sizing:border-box}body,html{width:100%;min-height:100%;background:#000;font-family:Segoe UI,system-ui,sans-serif;color:#fff}body:has(#canvas-container){height:100%;overflow:hidden}#canvas-container{z-index:0}#canvas-container,#overlay{position:fixed;top:0;left:0;width:100%;height:100%}#overlay{z-index:1;display:flex;align-items:center;justify-content:center;pointer-events:none}#overlay h1{font-size:clamp(2rem,5vw,4.5rem);font-weight:300;letter-spacing:.15em;text-transform:uppercase;text-shadow:0 0 40px rgba(0,150,255,.5);text-align:center;line-height:1.3}#overlay h1 span{display:block;font-weight:700;background:linear-gradient(135deg,#0af,#0fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}#controls{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:2;display:flex;gap:10px;pointer-events:all}#controls button{background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.15);color:#fff;padding:8px 18px;border-radius:20px;cursor:pointer;font-size:.85rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s}#controls button.active,#controls button:hover{background:rgba(0,170,255,.25);border-color:rgba(0,170,255,.5)}#loading{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;display:flex;align-items:center;justify-content:center;z-index:10;transition:opacity .8s}#loading.hidden{opacity:0;pointer-events:none}#loading span{font-size:1.2rem;letter-spacing:.3em;color:#446}#city-hud{position:fixed;z-index:3;pointer-events:none;opacity:0;transition:opacity .3s;font-family:Consolas,SF Mono,monospace}#city-hud.visible{opacity:1}#city-hud .hud-panel{background:rgba(0,8,20,.85);border:1px solid rgba(0,170,255,.4);border-radius:4px;padding:14px 18px;min-width:240px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 0 20px rgba(0,100,255,.15),inset 0 0 30px rgba(0,50,100,.1)}#city-hud .hud-header{display:flex;align-items:baseline;gap:8px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid rgba(0,170,255,.2)}#city-hud .hud-name{font-size:1.1rem;font-weight:700;letter-spacing:.08em;color:#fff}#city-hud .hud-country{font-size:.75rem;color:rgba(0,200,255,.7);letter-spacing:.1em}#city-hud .hud-status{display:inline-block;font-size:.6rem;letter-spacing:.15em;padding:2px 8px;border-radius:2px;margin-bottom:10px}#city-hud .hud-status.hub{background:rgba(0,200,255,.2);color:#0cf;border:1px solid rgba(0,200,255,.3)}#city-hud .hud-status.major{background:rgba(255,68,204,.2);color:#f4c;border:1px solid rgba(255,68,204,.3)}#city-hud .hud-status.node{background:rgba(255,136,0,.2);color:#f80;border:1px solid rgba(255,136,0,.3)}#city-hud .hud-row{display:flex;justify-content:space-between;padding:3px 0;font-size:.75rem}#city-hud .hud-label{color:hsla(0,0%,100%,.4);text-transform:uppercase;letter-spacing:.1em;font-size:.65rem}#city-hud .hud-value{color:rgba(0,220,255,.9);font-weight:600}#city-hud .hud-bar{margin-top:8px;height:3px;background:hsla(0,0%,100%,.08);border-radius:2px;overflow:hidden}#city-hud .hud-bar-fill{height:100%;border-radius:2px;transition:width .5s ease}#city-hud .hud-connector{position:absolute;width:1px;height:30px;background:linear-gradient(180deg,rgba(0,170,255,.6),rgba(0,170,255,0))}:root{--color-bg:#000;--color-fg:#fff;--color-accent:#0af;--color-accent-2:#0fc;--header-height:64px;--footer-bg:rgba(0,8,20,.85);--border-subtle:rgba(0,170,255,.25);--text-muted:hsla(0,0%,100%,.55);--font-sans:"Segoe UI",system-ui,sans-serif;--font-mono:"Consolas","SF Mono",monospace}.site-main{min-height:calc(100vh - var(--header-height));padding-top:var(--header-height)}.site-header{position:fixed;top:0;left:0;right:0;height:var(--header-height);z-index:100;background:rgba(0,6,18,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border-subtle)}.site-header-inner{max-width:1280px;height:100%;margin:0 auto;padding:0 24px;gap:32px}.site-header-inner,.site-logo{display:flex;align-items:center}.site-logo{gap:10px;color:var(--color-fg);text-decoration:none;font-weight:700;font-size:1.05rem;letter-spacing:.04em}.site-logo .dot{color:var(--color-accent)}.site-nav{display:flex;gap:22px;margin-left:12px;flex:1 1}.site-nav a{color:var(--color-fg);text-decoration:none;font-size:.92rem;letter-spacing:.05em;padding:6px 2px;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}.site-nav a:hover{color:var(--color-accent-2);border-bottom-color:var(--color-accent)}.lang-switcher{position:relative}.lang-button{display:inline-flex;align-items:center;gap:8px;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.15);color:var(--color-fg);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.85rem;font-family:inherit;letter-spacing:.04em;transition:background .2s,border-color .2s}.lang-button:hover{background:rgba(0,170,255,.18);border-color:rgba(0,170,255,.45)}.lang-code{font-weight:600}.lang-caret{font-size:.7rem;opacity:.7}.lang-menu{position:absolute;right:0;top:calc(100% + 6px);margin:0;padding:6px 0;list-style:none;background:rgba(0,8,20,.95);border:1px solid var(--border-subtle);border-radius:6px;min-width:160px;box-shadow:0 12px 32px rgba(0,0,0,.5);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.lang-option{display:flex;align-items:center;gap:10px;padding:8px 14px;color:var(--color-fg);text-decoration:none;font-size:.88rem;transition:background .15s}.lang-option:hover{background:rgba(0,170,255,.18)}.lang-option.active{background:rgba(0,170,255,.22);color:var(--color-accent-2)}.site-footer{background:var(--footer-bg);border-top:1px solid var(--border-subtle);color:var(--color-fg);font-size:.9rem;margin-top:60px}.site-footer-inner{max-width:1280px;margin:0 auto;padding:48px 24px 24px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;grid-gap:36px;gap:36px}.footer-col h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;color:var(--color-accent);margin-bottom:14px;font-weight:600}.footer-logo{font-size:1.25rem;font-weight:700;color:var(--color-fg);text-decoration:none;display:inline-block;margin-bottom:8px}.footer-tagline{color:var(--text-muted);font-size:.88rem;max-width:260px}.footer-col ul{list-style:none;padding:0;margin:0}.footer-col li{margin-bottom:8px}.footer-col a{color:var(--color-fg);text-decoration:none;transition:color .2s}.footer-col a:hover{color:var(--color-accent-2)}.site-footer-bottom{border-top:1px solid hsla(0,0%,100%,.08);padding:18px 24px;text-align:center;color:var(--text-muted);font-size:.82rem}@media (max-width:800px){.site-footer-inner{grid-template-columns:1fr 1fr}}@media (max-width:500px){.site-footer-inner{grid-template-columns:1fr}}.page-content{max-width:860px;margin:0 auto;padding:60px 24px 80px;color:var(--color-fg)}.page-content-narrow{max-width:640px}.page-content h1{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:300;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-intro{color:var(--text-muted);font-size:1rem;margin-bottom:28px;line-height:1.6}.markdown-body{line-height:1.7;color:#d8e1ea}.markdown-body h1,.markdown-body h2,.markdown-body h3{color:var(--color-fg);margin-top:1.6em;margin-bottom:.6em;letter-spacing:.04em}.markdown-body h1{font-size:1.7rem}.markdown-body h2{font-size:1.25rem;color:var(--color-accent-2);border-bottom:1px solid var(--border-subtle);padding-bottom:6px}.markdown-body h3{font-size:1.05rem;color:var(--color-accent)}.markdown-body p{margin:.8em 0}.markdown-body table{border-collapse:collapse;margin:1em 0;width:100%;font-size:.92rem}.markdown-body td,.markdown-body th{border:1px solid hsla(0,0%,100%,.1);padding:8px 12px;text-align:left}.markdown-body th{background:rgba(0,170,255,.12)}.markdown-body a{color:var(--color-accent-2)}.markdown-body ol,.markdown-body ul{padding-left:1.4em;margin:.6em 0}.markdown-body li{margin-bottom:.3em}.markdown-body strong{color:var(--color-fg)}.markdown-body em{color:var(--text-muted)}.markdown-body hr{border:0;border-top:1px solid hsla(0,0%,100%,.08);margin:2em 0}.contact-form{gap:18px;margin-top:24px;padding:28px;background:rgba(0,8,20,.6);border:1px solid var(--border-subtle);border-radius:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.contact-form,.form-row{display:flex;flex-direction:column}.form-row{gap:6px}.form-row label{font-size:.78rem;text-transform:uppercase;letter-spacing:.15em;color:var(--color-accent);font-weight:600}.form-row input,.form-row textarea{background:rgba(0,0,0,.4);border:1px solid hsla(0,0%,100%,.12);color:var(--color-fg);font-family:inherit;font-size:.95rem;padding:10px 12px;border-radius:4px;transition:border-color .2s,background .2s;resize:vertical}.form-row input:focus,.form-row textarea:focus{outline:none;border-color:var(--color-accent);background:rgba(0,20,40,.6)}.form-row input[aria-invalid=true],.form-row textarea[aria-invalid=true]{border-color:#f46}.form-error{color:#f79;font-size:.78rem}.form-submit{align-self:flex-start;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-2));border:none;color:#001020;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:12px 28px;border-radius:4px;cursor:pointer;font-size:.9rem;transition:opacity .2s,transform .1s}.form-submit:hover{opacity:.9}.form-submit:active{transform:translateY(1px)}.form-submit:disabled{opacity:.6;cursor:wait}.contact-thanks{margin-top:24px;padding:22px 26px;background:rgba(0,200,150,.1);border:1px solid rgba(0,200,150,.4);color:#aaffd8;border-radius:4px;font-size:.95rem}.contact-alt{margin-top:24px;color:var(--text-muted);font-size:.9rem;text-align:center}.contact-alt a{color:var(--color-accent-2)}body:has(.site-main) #canvas-container{z-index:0}body:has(.site-main) #overlay{z-index:1}body:has(.site-main) #controls{z-index:5}@media (max-width:720px){.site-header-inner{gap:14px;padding:0 14px}.site-nav{gap:12px;margin-left:4px}.site-nav a{font-size:.82rem}.site-logo span{display:none}}#overlay{padding-top:var(--header-height)}.site-nav a[target=_blank]{color:var(--color-accent-2)}.ext-icon{display:inline-block;font-size:.7em;margin-left:3px;opacity:.8;transition:transform .2s}.site-nav a[target=_blank]:hover .ext-icon{transform:translate(2px,-2px)}.github-link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;color:var(--color-fg);background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.15);text-decoration:none;transition:background .2s,border-color .2s,color .2s}.github-link:hover{background:rgba(0,170,255,.18);border-color:rgba(0,170,255,.45);color:var(--color-accent-2)}.container{max-width:1240px;margin:0 auto;padding:0 24px}.section-head{text-align:center;margin-bottom:48px}.section-head h2{font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:300;letter-spacing:.06em;margin-bottom:12px;background:linear-gradient(135deg,var(--color-fg),var(--color-accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-head p{color:var(--text-muted);font-size:1.05rem;max-width:640px;margin:0 auto;line-height:1.6}.eyebrow{display:inline-block;font-size:.75rem;text-transform:uppercase;letter-spacing:.25em;color:var(--color-accent);margin-bottom:14px}.btn,.eyebrow{font-weight:600}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:4px;font-size:.92rem;letter-spacing:.06em;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn-primary{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-2));color:#001020}.btn-primary:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,170,255,.3)}.btn-secondary{background:hsla(0,0%,100%,.06);color:var(--color-fg);border-color:hsla(0,0%,100%,.18)}.btn-secondary:hover{background:rgba(0,170,255,.16);border-color:rgba(0,170,255,.5);color:var(--color-accent-2)}.btn-outline{background:transparent;color:var(--color-accent-2);border-color:rgba(0,200,180,.4)}.btn-outline:hover{background:rgba(0,200,180,.12);border-color:rgba(0,200,180,.8)}.btn-large{padding:14px 28px;font-size:.98rem}.hero{position:relative;overflow:hidden;padding:120px 24px 100px;min-height:80vh;display:flex;align-items:center;justify-content:center}.hero-bg{z-index:0;background:radial-gradient(ellipse at top,rgba(0,80,140,.35) 0,transparent 60%),radial-gradient(ellipse at bottom,rgba(0,100,80,.25) 0,transparent 60%),#000814}.hero-bg,.hero-grid{position:absolute;inset:0}.hero-grid{background-image:linear-gradient(rgba(0,170,255,.06) 1px,transparent 0),linear-gradient(90deg,rgba(0,170,255,.06) 1px,transparent 0);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%)}.hero-glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5}.hero-glow-1{width:400px;height:400px;background:var(--color-accent);top:10%;left:10%;animation:float 12s ease-in-out infinite}.hero-glow-2{width:350px;height:350px;background:var(--color-accent-2);bottom:10%;right:10%;animation:float 14s ease-in-out infinite reverse}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(40px,-30px)}}.hero-inner{position:relative;z-index:1;max-width:880px;text-align:center}.hero-badge{display:inline-block;padding:6px 14px;background:rgba(0,170,255,.12);border:1px solid rgba(0,170,255,.3);border-radius:999px;color:var(--color-accent-2);font-size:.78rem;letter-spacing:.1em;margin-bottom:28px}.hero-title{font-size:clamp(2.2rem,5.5vw,4.2rem);font-weight:300;line-height:1.1;letter-spacing:.04em;margin-bottom:24px;text-shadow:0 0 60px rgba(0,150,255,.3)}.hero-title-accent{display:block;font-weight:700;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:clamp(1rem,1.6vw,1.2rem);color:hsla(0,0%,100%,.78);line-height:1.6;margin-bottom:40px;max-width:700px;margin-left:auto;margin-right:auto}.hero-actions{gap:14px;margin-bottom:40px}.hero-actions,.hero-trust{display:flex;justify-content:center;flex-wrap:wrap}.hero-trust{align-items:center;gap:10px;font-size:.82rem;color:var(--text-muted)}.trust-dot{width:6px;height:6px;border-radius:50%;background:#0f8;box-shadow:0 0 8px #0f8}.trust-sep{opacity:.5}.stats-section{padding:80px 0;border-top:1px solid hsla(0,0%,100%,.04);border-bottom:1px solid hsla(0,0%,100%,.04);background:rgba(0,8,20,.4)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:20px;gap:20px}.stat-card{text-align:center;padding:32px 20px;background:rgba(0,20,40,.6);border:1px solid var(--border-subtle);border-radius:6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.stat-value{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px;letter-spacing:.02em}.stat-label{font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em}@media (max-width:800px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.products-section{padding:100px 0}.products-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:24px;gap:24px}.product-card{position:relative;padding:32px 28px;background:linear-gradient(180deg,rgba(0,20,40,.65),rgba(0,8,20,.5));border:1px solid var(--border-subtle);border-radius:8px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;flex-direction:column}.product-card:hover{transform:translateY(-4px);border-color:rgba(0,200,180,.55);box-shadow:0 12px 32px rgba(0,100,200,.18)}.product-tag{position:absolute;top:18px;right:18px;font-size:.65rem;text-transform:uppercase;letter-spacing:.15em;padding:4px 10px;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-2));color:#001020;border-radius:999px;font-weight:700}.product-name{font-size:1.4rem;margin-bottom:4px;letter-spacing:.04em;padding-right:90px}.product-tagline{font-size:.92rem;color:var(--color-accent-2);margin-bottom:16px;font-style:italic}.product-desc{font-size:.92rem;color:hsla(0,0%,100%,.78);line-height:1.6;margin-bottom:20px}.product-features{list-style:none;padding:0;margin:0 0 24px;display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.product-features li{display:flex;align-items:center;gap:8px;font-size:.85rem;color:hsla(0,0%,100%,.85)}.check{color:var(--color-accent-2);font-weight:700}.product-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:18px;border-top:1px solid hsla(0,0%,100%,.08);margin-top:auto}.product-price{font-size:1.15rem;font-weight:700;color:var(--color-accent-2)}@media (max-width:760px){.product-features,.products-grid{grid-template-columns:1fr}}.code-section{padding:80px 0;background:rgba(0,8,20,.4)}.code-block{max-width:880px;margin:0 auto;background:#001020;border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden;box-shadow:0 16px 48px rgba(0,0,0,.4)}.code-tabs{display:flex;background:rgba(0,0,0,.4);border-bottom:1px solid var(--border-subtle)}.code-tab{background:transparent;color:var(--text-muted);padding:14px 22px;font-family:inherit;font-size:.88rem;letter-spacing:.06em;cursor:pointer;border:none;border-bottom:2px solid transparent;transition:color .2s,border-color .2s,background .2s}.code-tab:hover{color:var(--color-fg)}.code-tab.active{color:var(--color-accent-2);border-bottom-color:var(--color-accent);background:rgba(0,170,255,.08)}.code-snippet{margin:0;padding:24px 28px;overflow-x:auto;font-family:var(--font-mono);font-size:.85rem;line-height:1.6;color:#c8d8e8;background:#001020}.code-snippet code{white-space:pre}.github-section{padding:100px 0}.github-card{max-width:980px;margin:0 auto;padding:48px 40px;background:linear-gradient(135deg,rgba(0,20,40,.7),rgba(0,8,20,.5));border:1px solid var(--border-subtle);border-radius:10px;text-align:center}.github-card-head{margin-bottom:36px}.repo-list{list-style:none;padding:0;margin:0 0 36px;display:flex;flex-direction:column;gap:12px}.repo-item{background:rgba(0,0,0,.3);border:1px solid hsla(0,0%,100%,.08);border-radius:6px;padding:14px 20px;text-align:left;transition:border-color .2s,transform .2s}.repo-item:hover{border-color:rgba(0,200,180,.4);transform:translateX(4px)}.repo-link{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--color-fg);font-weight:600;font-family:var(--font-mono);font-size:.95rem}.repo-link svg{color:var(--text-muted);flex-shrink:0}.repo-name{flex:1 1}.repo-stars{font-size:.82rem;color:#f0c674;font-weight:500}.repo-desc{margin:6px 0 0 28px;color:var(--text-muted);font-size:.86rem}.cta-section{padding:80px 0 120px}.cta-card{max-width:980px;margin:0 auto;padding:60px 40px;text-align:center;background:radial-gradient(ellipse at center,rgba(0,170,255,.15),transparent 70%),rgba(0,8,20,.6);border:1px solid var(--border-subtle);border-radius:10px}.cta-card h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:300;letter-spacing:.06em;margin-bottom:12px}.cta-card p{color:var(--text-muted);font-size:1.05rem;margin-bottom:32px}.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}@media (max-width:600px){.hero{padding:80px 16px 60px}.code-section,.cta-section,.github-section,.products-section,.stats-section{padding:60px 0}.cta-card,.github-card{padding:32px 20px}}.form-error-server{display:block;padding:10px 14px;background:rgba(255,60,90,.12);border:1px solid rgba(255,80,110,.45);border-radius:4px;color:#ff8090;font-size:.88rem}