:root{--font-sans: "Inter", sans-serif;--font-display: "Outfit", sans-serif;--bg-primary: #030712;--bg-secondary: #0b0f19;--bg-card: rgba(17, 24, 39, .6);--bg-card-hover: rgba(31, 41, 55, .8);--color-text-primary: #f3f4f6;--color-text-secondary: #9ca3af;--color-text-muted: #6b7280;--color-cyan: #06b6d4;--color-cyan-glow: rgba(6, 182, 212, .15);--color-purple: #a855f7;--color-purple-glow: rgba(168, 85, 247, .15);--color-emerald: #10b981;--color-emerald-glow: rgba(16, 185, 129, .15);--color-pink: #ec4899;--color-pink-glow: rgba(236, 72, 153, .15);--border-color: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .15);--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1);--glass-filter: blur(16px) saturate(180%)}*{box-sizing:border-box;margin:0;padding:0;scroll-behavior:smooth}body{background-color:var(--bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;letter-spacing:-.025em;line-height:1.25}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#1f2937;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-purple)}.bg-grid-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden;background-color:var(--bg-primary)}.bg-grid-container:after{content:"";position:absolute;top:0;left:0;width:200%;height:200%;background-image:linear-gradient(to right,rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.02) 1px,transparent 1px);background-size:50px 50px;transform:perspective(500px) rotateX(60deg) translateY(-30%);animation:gridMove 40s linear infinite;opacity:.8}.bg-radial-glow{position:absolute;top:-10%;left:20%;width:60vw;height:60vw;background:radial-gradient(circle,var(--color-purple-glow) 0%,transparent 70%);filter:blur(100px);pointer-events:none}.bg-radial-glow-cyan{position:absolute;bottom:10%;right:10%;width:50vw;height:50vw;background:radial-gradient(circle,var(--color-cyan-glow) 0%,transparent 70%);filter:blur(100px);pointer-events:none}.glass-panel{background:var(--bg-card);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);border:1px solid var(--border-color);border-radius:16px;transition:var(--transition-smooth)}.glass-panel:hover{border-color:var(--border-hover);box-shadow:0 10px 30px -10px #000000b3}.container{max-width:1200px;margin:0 auto;padding:0 24px}.section-padding{padding:100px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:8px;font-family:var(--font-display);font-weight:600;font-size:.95rem;cursor:pointer;transition:var(--transition-smooth);text-decoration:none;border:1px solid transparent}.btn-primary{background:linear-gradient(135deg,var(--color-purple),var(--color-cyan));color:#fff;box-shadow:0 4px 20px -2px var(--color-purple-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px 2px #a855f766}.btn-secondary{background:#ffffff0d;border-color:var(--border-color);color:var(--color-text-primary)}.btn-secondary:hover{background:#ffffff1a;border-color:var(--color-text-primary)}.btn-cyan{background:transparent;border-color:var(--color-cyan);color:var(--color-cyan)}.btn-cyan:hover{background:var(--color-cyan-glow);box-shadow:0 0 15px var(--color-cyan);transform:translateY(-2px)}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border:1px solid transparent}.badge-purple{background:#a855f71a;color:#c084fc;border-color:#a855f733}.badge-cyan{background:#06b6d41a;color:#22d3ee;border-color:#06b6d433}.badge-emerald{background:#10b9811a;color:#34d399;border-color:#10b98133}@keyframes gridMove{0%{background-position:0 0}to{background-position:0 1000px}}@keyframes pulseGlow{0%,to{box-shadow:0 0 15px #a855f733}50%{box-shadow:0 0 25px #a855f766}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:float 6s ease-in-out infinite}.input-field{width:100%;padding:12px 16px;background:#ffffff08;border:1px solid var(--border-color);border-radius:8px;color:var(--color-text-primary);font-family:var(--font-sans);font-size:.95rem;transition:var(--transition-smooth)}.input-field:focus{outline:none;border-color:var(--color-purple);box-shadow:0 0 0 2px var(--color-purple-glow);background:#ffffff0f}.section-header{text-align:center;max-width:700px;margin:0 auto 60px}.section-header h2{font-size:2.5rem;margin-bottom:16px;background:linear-gradient(to right,#fff,#9ca3af);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.section-header p{color:var(--color-text-secondary);font-size:1.1rem;line-height:1.6}.simulator-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch}@media (max-width: 968px){.simulator-layout{grid-template-columns:1fr}}.dashboard-view{min-height:400px;display:flex;flex-direction:column}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.dashboard-body{padding:20px;flex:1;display:flex;flex-direction:column;gap:16px}.led-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px}.led-green{background-color:var(--color-emerald);box-shadow:0 0 8px var(--color-emerald)}.led-blue{background-color:var(--color-cyan);box-shadow:0 0 8px var(--color-cyan)}.led-red{background-color:var(--color-pink);box-shadow:0 0 8px var(--color-pink)}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#030712d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-content{width:100%;max-width:450px;padding:32px;transform:scale(.9);transition:transform .3s ease}.modal-overlay.active .modal-content{transform:scale(1)}
