*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{background:var(--bg-deep);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,Segoe UI,system-ui,sans-serif}h1,h2,h3,h4,h5,h6{font-family:Outfit,Segoe UI,sans-serif;font-weight:700}:root{--primary:#0f2e4a;--primary-dark:#051421;--accent:#00b8d4;--accent-bright:#00e5ff;--accent-glow:#00b8d466;--firnas-teal:#00b8d4;--firnas-teal-dark:#0097b2;--firnas-teal-light:#33c8de;--firnas-navy:#0f2e4a;--firnas-navy-deep:#051421;--firnas-navy-light:#1a3d5c;--firnas-gray-light:#e0eaf2;--firnas-gray-mid:#94a3b8;--block-event:#00b8d4;--block-control:#e8a33d;--block-motion:#4a90e2;--block-sensor:#7b6fe0;--block-logic:#50c878;--block-end:#c75d5d;--font-sans:"Inter", sans-serif;--font-display:"Outfit", sans-serif;--shadow-glass:0 8px 32px 0 #0f2e4a0d;--shadow-glass-dark:0 10px 32px 0 #0003;--shadow-neon:0 0 20px #00b8d466;--shadow-neon-sm:0 0 12px #00b8d440;--transition:all .4s cubic-bezier(.16, 1, .3, 1);--transition-fast:all .25s cubic-bezier(.16, 1, .3, 1);--bg-deep:#0f2e4a;--bg-primary:#143a59;--bg-secondary:#1a3d5c;--bg-card:#ffffff0f;--border:#ffffff1a;--text-primary:#e8f4f9;--text-secondary:#94a3b8;--text-muted:#64748b}[data-theme=light]{--bg-deep:#f0f7fb;--bg-primary:#fff;--bg-secondary:#e0eaf2;--bg-card:#f5f9fc;--border:#0f2e4a1a;--text-primary:#0f2e4a;--text-secondary:#64748b;--text-muted:#94a3b8}@keyframes pulse-glow{0%,to{box-shadow:0 0 10px #00b8d480,0 0 25px #00b8d433}50%{box-shadow:0 0 22px #00b8d4e6,0 0 50px #00b8d473}}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}@keyframes scan-highlight{0%{background:#00b8d412;box-shadow:inset 0 0 0 1px #00b8d440}50%{background:#00b8d42e;box-shadow:inset 0 0 0 1px #00b8d4a6,0 0 12px #00b8d440}to{background:#00b8d412;box-shadow:inset 0 0 0 1px #00b8d440}}@keyframes fade-number{0%{opacity:.4;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.app-layout{background-color:var(--bg-deep);background-image:radial-gradient(#00b8d414 1.5px,#0000 1.5px);background-size:24px 24px;flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-header{z-index:100;flex-shrink:0;height:64px}.app-main{flex:1;display:flex;overflow:hidden}.app-sidebar{flex-shrink:0}.app-workspace{background:0 0;flex-direction:column;flex:1;display:flex;overflow:hidden}.app-telemetry,.app-footer{flex-shrink:0}.block-item{-webkit-backdrop-filter:blur(20px);cursor:default;-webkit-user-select:none;user-select:none;color:var(--text-primary);transition:var(--transition-fast);font-family:var(--font-sans);background:#ffffff12;border:1px solid #ffffff24;border-left:3px solid #00b8d499;border-radius:16px;padding:9px 13px;position:relative;box-shadow:0 8px 32px #0f2e4a33}.block-item:hover{border-left-color:var(--accent);background:#ffffff1c;transform:translateY(-2px)translate(3px);box-shadow:0 15px 35px #00b8d426,0 0 15px #00b8d414}.block-item.active{border-left-color:var(--accent);animation:.8s ease-in-out infinite scan-highlight}.block-container{border-left:2px solid #00b8d433;border-radius:0 0 10px 10px;min-height:36px;margin-top:8px;padding-left:10px}.block-param-input{color:#e8a33d;text-align:center;width:52px;font-size:13px;font-weight:700;font-family:var(--font-display);transition:var(--transition-fast);background:#05142199;border:1px solid #00b8d466;border-radius:8px;outline:none;padding:2px 6px}.block-param-input:focus{border-color:var(--accent);box-shadow:0 0 8px #00b8d459}.block-param-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.block-param-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.btn-run{background:var(--accent);color:#fff;width:100%;font-size:13px;font-weight:700;font-family:var(--font-display);letter-spacing:.05em;cursor:pointer;transition:var(--transition-fast);box-shadow:var(--shadow-neon);border:none;border-radius:12px;padding:11px 16px}.btn-run:hover:not(:disabled){background:var(--accent-bright);transform:translateY(-2px);box-shadow:0 0 30px #00b8d480}.btn-run:disabled{opacity:.65;cursor:not-allowed}.btn-run.running{background:var(--firnas-teal-dark);animation:1.5s ease-in-out infinite pulse-glow}.btn-stop{border:1.5px solid var(--block-end);width:100%;color:var(--block-end);font-size:12px;font-weight:700;font-family:var(--font-display);letter-spacing:.05em;cursor:pointer;transition:var(--transition-fast);background:0 0;border-radius:12px;padding:9px 16px}.btn-stop:hover:not(:disabled){background:#c75d5d1a;box-shadow:0 0 12px #c75d5d33}.btn-stop:disabled{opacity:.3;cursor:not-allowed}.btn-tab{color:var(--text-secondary);font-size:12px;font-weight:600;font-family:var(--font-display);letter-spacing:.05em;cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 16px;display:flex}.btn-tab:hover{color:var(--firnas-gray-light);background:#00b8d414}.btn-tab.active{color:var(--accent);background:#00b8d41f;box-shadow:inset 0 0 0 1px #00b8d433}.metric-card{-webkit-backdrop-filter:blur(20px);transition:var(--transition-fast);background:#ffffff12;border:1px solid #ffffff24;border-radius:20px;padding:12px 14px;box-shadow:0 8px 32px #0f2e4a26}.metric-card:hover{background:#ffffff1c;border-color:#00b8d459;transform:translateY(-3px);box-shadow:0 15px 35px #00b8d426,0 0 15px #00b8d414}.metric-value{font-family:var(--font-display);color:var(--firnas-gray-light);font-size:22px;font-weight:700;animation:.3s fade-number}.progress-bar{background:#0f2e4a80;border-radius:100px;height:4px;overflow:hidden}.section-tag{color:var(--accent);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;background:#00b8d414;border:1px solid #00b8d433;border-radius:100px;align-items:center;gap:5px;padding:4px 14px;font-size:10px;font-weight:700;display:inline-flex;box-shadow:0 0 15px #00b8d40d}.blink-dot{animation:1.2s ease-in-out infinite blink;display:inline-block}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--firnas-navy-deep)}::-webkit-scrollbar-thumb{background:#00b8d440;border-radius:100px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}button,input,select,textarea{font-family:inherit}
