*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}:root{--firnas-navy:#0f2e4a;--firnas-teal:#00b8d4;--firnas-teal2:#00d4f0;--block-event:#00b8d4;--block-control:#f59e0b;--block-motion:#3b82f6;--block-sensor:#a855f7;--block-logic:#22c55e;--block-end:#ef4444;--bg:#1b3a55;--bg-panel:#1e4060;--bg-card:#234868;--bg-hover:#2a5278;--border:#00b8d440;--border-strong:#00b8d480;--text-1:#e8f6fc;--text-2:#9dcce0;--text-3:#6aaac5;--accent:#00b8d4;--accent-h:#00d4f0;--accent-bg:#00b8d424;--font-ui:"Inter", system-ui, sans-serif;--font-display:"Outfit", system-ui, sans-serif;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--shadow-sm:0 2px 8px #0000002e;--shadow-md:0 4px 20px #00000038;--shadow-teal:0 0 20px #00b8d438;--ease:cubic-bezier(.16, 1, .3, 1)}body{font-family:var(--font-ui);background:var(--bg);color:var(--text-1);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-1);font-weight:700}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}@keyframes pulse-glow{0%,to{box-shadow:0 0 12px #00b8d480}50%{box-shadow:0 0 28px #00b8d4e6,0 0 50px #00b8d44d}}@keyframes scan-hl{0%,to{background:#00b8d414;box-shadow:inset 0 0 0 1.5px #00b8d44d}50%{background:#00b8d42e;box-shadow:inset 0 0 0 1.5px #00b8d4b3,0 0 12px #00b8d426}}@keyframes pop-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes num-in{0%{opacity:.4;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes blob1{0%,to{transform:translate(0)scale(1)}50%{transform:translate(6%,-8%)scale(1.15)}}@keyframes blob2{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-8%,5%)scale(1.1)}}@keyframes blob3{0%,to{transform:translate(0)scale(1)}33%{transform:translate(5%,-10%)scale(.9)}66%{transform:translate(-6%,8%)scale(1.1)}}.grad-anim-container{pointer-events:none;z-index:0;filter:blur(90px)saturate(1.2);opacity:.35;position:fixed;inset:0;overflow:hidden}.gradients-wrapper{width:100%;height:100%;position:relative}.g-circle{mix-blend-mode:screen;border-radius:50%;position:absolute}.g-first{background:radial-gradient(circle,#00b8d466 0%,#0000 60%);width:65vw;height:65vw;animation:22s ease-in-out infinite blob1;top:-15%;left:-10%}.g-second{background:radial-gradient(circle,#0064a059 0%,#0000 60%);width:55vw;height:55vw;animation:28s ease-in-out infinite blob2;top:50%;left:55%}.g-third{background:radial-gradient(circle,#0082be4d 0%,#0000 60%);width:45vw;height:45vw;animation:35s ease-in-out infinite blob3;top:65%;left:10%}.g-fourth,.g-fifth{display:none}.app-layout{background:var(--bg);background-image:radial-gradient(#00b8d412 1px,#0000 1px);background-size:28px 28px;flex-direction:column;height:100vh;display:flex;position:relative;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{flex-direction:column;flex:1;display:flex;overflow:hidden}.app-telemetry,.app-footer{flex-shrink:0}.app-header{-webkit-backdrop-filter:blur(20px);border-bottom:2px solid var(--border);background:#1b3a55f0;align-items:center;gap:14px;padding:0 20px;display:flex;box-shadow:0 2px 20px #0003}.app-sidebar{-webkit-backdrop-filter:blur(20px);border-right:2px solid var(--border);background:#1e4060e6;flex-direction:column;width:228px;display:flex;overflow:hidden;box-shadow:3px 0 16px #00000026}.block-item{background:var(--bg-card);border-radius:var(--radius-lg);cursor:default;-webkit-user-select:none;user-select:none;border:1.5px solid #00b8d42e;border-left:4px solid var(--accent);box-shadow:var(--shadow-sm);color:var(--text-1);font-family:var(--font-ui);transition:all .2s var(--ease);animation:pop-in .2s var(--ease);padding:11px 14px;font-size:14px;position:relative}.block-item:hover{background:var(--bg-hover);border-color:var(--border-strong);border-left-color:var(--accent-h);transform:translateY(-2px)translate(3px);box-shadow:0 6px 24px #00b8d433}.block-item.active{animation:.85s ease-in-out infinite scan-hl}.block-container{border-left:2px solid #00b8d440;border-radius:0 0 10px 10px;min-height:36px;margin-top:8px;padding-left:12px}.block-param-input{color:#f6c058;text-align:center;width:56px;font-size:14px;font-weight:700;font-family:var(--font-display);transition:all .2s var(--ease);background:#0000004d;border:1.5px solid #00b8d466;border-radius:8px;outline:none;padding:3px 6px}.block-param-input:focus{border-color:var(--accent-h);box-shadow:0 0 0 3px #00b8d426}.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);border-radius:var(--radius-md);color:#071a2e;width:100%;font-size:14px;font-weight:800;font-family:var(--font-display);letter-spacing:.05em;cursor:pointer;transition:all .2s var(--ease);border:none;padding:13px 16px;box-shadow:0 4px 18px #00b8d466}.btn-run:hover:not(:disabled){background:var(--accent-h);transform:translateY(-2px);box-shadow:0 8px 28px #00b8d48c}.btn-run:disabled{opacity:.45;cursor:not-allowed}.btn-run.running{color:#e0f8ff;background:#0097b2;animation:1.5s ease-in-out infinite pulse-glow}.btn-stop{border-radius:var(--radius-md);color:#fca5a5;width:100%;font-size:14px;font-weight:700;font-family:var(--font-display);cursor:pointer;transition:all .2s var(--ease);background:#ef444414;border:1.5px solid #ef444466;padding:10px 16px}.btn-stop:hover:not(:disabled){background:#ef444429;border-color:#ef4444;box-shadow:0 4px 16px #ef444440}.btn-stop:disabled{opacity:.3;cursor:not-allowed}.btn-tab{border-radius:var(--radius-sm);color:var(--text-2);font-size:13px;font-weight:700;font-family:var(--font-display);letter-spacing:.04em;cursor:pointer;transition:all .2s var(--ease);background:0 0;border:none;align-items:center;gap:6px;padding:7px 16px;display:flex}.btn-tab:hover{background:var(--accent-bg);color:var(--text-1)}.btn-tab.active{background:var(--accent-bg);color:var(--accent-h);box-shadow:inset 0 0 0 1.5px var(--border-strong)}.metric-card{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all .2s var(--ease);padding:13px 14px}.metric-card:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 6px 24px #00b8d42e}.metric-value{font-family:var(--font-display);color:var(--text-1);animation:num-in .3s var(--ease);font-size:24px;font-weight:800}.progress-bar{background:#00000059;border-radius:100px;height:5px;overflow:hidden}.section-tag{background:var(--accent-bg);border:1.5px solid var(--border);color:var(--accent-h);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;border-radius:100px;align-items:center;gap:5px;padding:4px 14px;font-size:11px;font-weight:700;display:inline-flex}.blink-dot{animation:1.2s ease-in-out infinite blink;display:inline-block}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:#00000026;border-radius:10px}::-webkit-scrollbar-thumb{background:#00b8d44d;border-radius:100px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}button,input,select,textarea{font-family:inherit}
