@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400;1,600;1,700&display=swap");:root{color-scheme:dark!important;--font-sans:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:"JetBrains Mono","Fira Code",ui-monospace,SFMono-Regular,monospace;--bg-base:#06080d;--bg-surface:#0a0e18;--bg-surface-elevated:#0f1524;--bg-surface-hover:#151d30;--bg-surface-active:#1a243c;--bg-card:rgba(12,17,30,0.78);--bg-card-hover:rgba(18,25,44,0.92);--bg-glass:rgba(8,12,22,0.88);--bg-glass-elevated:rgba(15,21,36,0.92);--bg-input:rgba(5,8,15,0.95);--bg-dropdown:#0c1220;--bg-overlay:rgba(2,4,8,0.85);--border-subtle:rgba(255,255,255,0.05);--border-light:rgba(255,255,255,0.09);--border-medium:rgba(255,255,255,0.16);--border-highlight:rgba(255,255,255,0.28);--border-focus:rgba(99,102,241,0.7);--border-brand:rgba(99,102,241,0.35);--primary:#6366f1;--primary-light:#818cf8;--primary-hover:#4f46e5;--primary-active:#4338ca;--primary-subtle:rgba(99,102,241,0.12);--primary-subtle-hover:rgba(99,102,241,0.22);--primary-border:rgba(99,102,241,0.35);--primary-glow:rgba(99,102,241,0.28);--primary-glow-strong:rgba(99,102,241,0.55);--accent-emerald:#10b981;--accent-emerald-light:#34d399;--accent-emerald-subtle:rgba(16,185,129,0.12);--accent-emerald-border:rgba(16,185,129,0.32);--accent-emerald-glow:rgba(16,185,129,0.25);--accent-amber:#f59e0b;--accent-amber-light:#fbbf24;--accent-amber-subtle:rgba(245,158,11,0.12);--accent-amber-border:rgba(245,158,11,0.32);--accent-rose:#f43f5e;--accent-rose-light:#fda4af;--accent-rose-subtle:rgba(244,63,94,0.12);--accent-rose-border:rgba(244,63,94,0.32);--accent-rose-glow:rgba(244,63,94,0.25);--accent-violet:#8b5cf6;--accent-violet-light:#c084fc;--accent-violet-subtle:rgba(139,92,246,0.12);--accent-violet-border:rgba(139,92,246,0.32);--accent-cyan:#06b6d4;--accent-cyan-light:#38bdf8;--accent-cyan-subtle:rgba(6,182,212,0.12);--accent-cyan-border:rgba(6,182,212,0.32);--accent-pink:#ec4899;--accent-pink-light:#f472b6;--accent-pink-subtle:rgba(236,72,153,0.12);--accent-pink-border:rgba(236,72,153,0.32);--text-main:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-dim:#64748b;--text-faint:#475569;--text-inverse:#030712;--gradient-brand:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#d946ef);--gradient-brand-subtle:linear-gradient(135deg,rgba(99,102,241,0.2),rgba(139,92,246,0.12) 50%,rgba(217,70,239,0.08));--gradient-create:linear-gradient(135deg,#4f46e5,#7c3aed 50%,#6366f1);--gradient-create-hover:linear-gradient(135deg,#5b50f0,#8b46ff 50%,#7175f7);--gradient-emerald:linear-gradient(135deg,#059669,#10b981);--gradient-amber:linear-gradient(135deg,#d97706,#f59e0b);--gradient-card:linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.01));--gradient-card-elevated:linear-gradient(180deg,rgba(255,255,255,0.07),rgba(255,255,255,0.02));--gradient-radial-glow:radial-gradient(circle at 50% 0%,rgba(99,102,241,0.18) 0%,transparent 70%);--radius-2xs:4px;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(0,0,0,0.4);--shadow-sm:0 2px 6px rgba(0,0,0,0.5);--shadow-md:0 6px 18px rgba(0,0,0,0.6);--shadow-lg:0 16px 40px rgba(0,0,0,0.75),0 0 1px 1px rgba(255,255,255,0.05);--shadow-glow:0 0 24px var(--primary-glow);--shadow-create:0 4px 20px rgba(99,102,241,0.35),0 0 0 1px rgba(255,255,255,0.12) inset;--shadow-create-hover:0 6px 28px rgba(99,102,241,0.55),0 0 0 1px rgba(255,255,255,0.22) inset;--transition-fast:0.12s cubic-bezier(0.16,1,0.3,1);--transition-base:0.2s cubic-bezier(0.16,1,0.3,1);--transition-spring:0.3s cubic-bezier(0.34,1.56,0.64,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{background-color:var(--bg-base);color:var(--text-main);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden;letter-spacing:-.011em}body:before{content:"";position:fixed;top:0;left:0;right:0;height:520px;background:radial-gradient(55% 100% at 50% 0,rgba(99,102,241,.08) 0,rgba(139,92,246,.04) 45%,transparent 100%);pointer-events:none;z-index:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.24)}code,kbd,pre{font-family:var(--font-mono)}code{font-size:.8125rem;background:rgba(0,0,0,.45);padding:2px 6px;border-radius:var(--radius-xs);border:1px solid var(--border-subtle);color:#c7d2fe}.glass-card{background:var(--bg-card);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-md);position:relative;transition:all var(--transition-base)}.glass-card:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 0 rgba(255,255,255,.08);pointer-events:none}.glass-card-hover{transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base),background var(--transition-base)}.glass-card-hover:hover{background:var(--bg-card-hover);border-color:var(--border-medium);transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.65),0 0 20px rgba(99,102,241,.15)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:7px 14px;font-family:var(--font-sans);font-size:.8125rem;font-weight:600;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:none;text-decoration:none;position:relative;overflow:hidden}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important;pointer-events:none}.btn-create{background:var(--gradient-create);color:#ffffff;font-weight:700;border:1px solid rgba(255,255,255,.18);box-shadow:var(--shadow-create);position:relative;letter-spacing:-.01em}.btn-create:before{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transform:skewX(-20deg);transition:left .6s ease}.btn-create:hover:not(:disabled){background:var(--gradient-create-hover);transform:translateY(-2px) scale(1.02);box-shadow:var(--shadow-create-hover);border-color:rgba(255,255,255,.35);color:#ffffff}.btn-create:hover:not(:disabled):before{left:140%}.btn-create:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:var(--shadow-create)}.btn-create-secondary{background:rgba(99,102,241,.1);border:1px solid var(--primary-border);color:#c7d2fe;font-weight:600;box-shadow:0 2px 8px rgba(99,102,241,.12)}.btn-create-secondary:hover:not(:disabled){background:rgba(99,102,241,.2);border-color:var(--primary-light);color:#ffffff;transform:translateY(-1px);box-shadow:0 4px 16px rgba(99,102,241,.28)}.btn-create-dashed{background:rgba(255,255,255,.02);border:1.5px dashed var(--border-medium);color:var(--text-muted);font-weight:600;border-radius:var(--radius-sm);transition:all var(--transition-base)}.btn-create-dashed:hover:not(:disabled){background:var(--primary-subtle);border-color:var(--primary);color:var(--primary-light);transform:translateY(-1px);box-shadow:0 4px 16px rgba(99,102,241,.15)}.btn-create-emerald{background:var(--gradient-emerald);color:#ffffff;font-weight:700;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 16px rgba(16,185,129,.35)}.btn-create-emerald:hover:not(:disabled){opacity:.95;transform:translateY(-2px) scale(1.02);box-shadow:0 6px 24px rgba(16,185,129,.5);color:#ffffff}.btn-primary{background:var(--primary);color:#ffffff;box-shadow:0 2px 10px var(--primary-glow)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 18px var(--primary-glow);color:#ffffff}.btn-secondary{background:rgba(255,255,255,.05);border:1px solid var(--border-light);color:var(--text-main)}.btn-secondary:hover:not(:disabled){background:rgba(255,255,255,.09);border-color:var(--border-medium);color:#ffffff;transform:translateY(-1px)}.btn-ghost{background:transparent;border:1px solid transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:rgba(255,255,255,.06);color:var(--text-main)}.btn-danger{background:var(--accent-rose-subtle);border:1px solid var(--accent-rose-border);color:#fda4af}.btn-danger:hover:not(:disabled){background:var(--accent-rose);border-color:var(--accent-rose);color:#ffffff;box-shadow:0 2px 14px rgba(244,63,94,.45);transform:translateY(-1px)}.btn-xs{padding:3px 8px;font-size:.72rem;gap:4px}.btn-sm,.btn-xs{border-radius:var(--radius-xs)}.btn-sm{padding:5px 11px;font-size:.75rem;gap:5px}.btn-md{padding:8px 16px;font-size:.84rem;border-radius:var(--radius-sm);gap:7px}.btn-lg{padding:11px 22px;font-size:.94rem;border-radius:var(--radius-md);gap:9px}.btn-icon{padding:6px;border-radius:var(--radius-xs);justify-content:center}.btn-icon,.kbd-chip{display:inline-flex;align-items:center}.kbd-chip{padding:1px 5px;border-radius:var(--radius-2xs);background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.16);font-size:.65rem;font-family:var(--font-mono);color:rgba(255,255,255,.85);margin-left:4px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:var(--radius-full);font-size:.72rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;line-height:1.2}.badge-primary{background:var(--primary-subtle);border:1px solid var(--primary-border);color:#a5b4fc}.badge-emerald{background:var(--accent-emerald-subtle);border:1px solid var(--accent-emerald-border);color:#34d399}.badge-amber{background:var(--accent-amber-subtle);border:1px solid var(--accent-amber-border);color:#fbbf24}.badge-rose{background:var(--accent-rose-subtle);border:1px solid var(--accent-rose-border);color:#fda4af}.badge-cyan{background:var(--accent-cyan-subtle);border:1px solid var(--accent-cyan-border);color:#38bdf8}.badge-violet{background:var(--accent-violet-subtle);border:1px solid var(--accent-violet-border);color:#c084fc}.badge-pink{background:var(--accent-pink-subtle);border:1px solid var(--accent-pink-border);color:#f472b6}.badge-editor{background:var(--accent-emerald-subtle);border:1px solid var(--accent-emerald-border);color:#34d399}.badge-viewer{background:var(--primary-subtle);border:1px solid var(--primary-border);color:#a5b4fc}.badge-danger{background:var(--accent-rose-subtle);border:1px solid var(--accent-rose-border);color:#fda4af}.status-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.status-dot-emerald{background:var(--accent-emerald);box-shadow:0 0 8px var(--accent-emerald)}.status-dot-amber{background:var(--accent-amber);box-shadow:0 0 8px var(--accent-amber)}.status-dot-pulse{animation:pulseDot 2s infinite}.input-field{width:100%;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:8px 12px;color:var(--text-main);font-family:var(--font-sans);font-size:.8125rem;transition:all var(--transition-fast);outline:none}.input-field:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px rgba(99,102,241,.25);background:rgba(10,15,26,.98)}.input-field::placeholder{color:var(--text-dim)}.input-label{display:block;font-size:.75rem;font-weight:700;color:var(--text-secondary);margin-bottom:5px;letter-spacing:.02em}.modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:modalFadeIn .18s cubic-bezier(.16,1,.3,1)}.modal-content{background:var(--bg-surface-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-lg);box-shadow:0 24px 64px rgba(0,0,0,.85),inset 0 0 0 1px rgba(255,255,255,.08),0 0 40px rgba(99,102,241,.15);width:100%;position:relative;animation:modalScaleUp .2s cubic-bezier(.16,1,.3,1)}.skeleton{background:linear-gradient(90deg,rgba(255,255,255,.03),rgba(255,255,255,.08) 50%,rgba(255,255,255,.03));background-size:200% 100%;animation:skeletonWave 1.6s ease-in-out infinite;border-radius:var(--radius-xs)}@keyframes skeletonWave{0%{background-position:200% 0}to{background-position:-200% 0}}.table-row-hover{transition:background var(--transition-fast)}.table-row-hover:hover{background:rgba(255,255,255,.04)}.sidebar-node-row{transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);border-radius:var(--radius-xs)}.sidebar-node-row:hover{background:rgba(255,255,255,.045)}.sidebar-node-row .row-actions{opacity:0;transition:opacity var(--transition-fast)}.sidebar-node-row:hover .row-actions{opacity:1}.segmented-control{display:flex;background:rgba(0,0,0,.4);padding:3px;border-radius:var(--radius-sm);border:1px solid var(--border-light);gap:2px}.segmented-btn{padding:5px 12px;font-size:.75rem;font-weight:600;border:none;background:transparent;color:var(--text-muted);border-radius:var(--radius-xs);cursor:pointer;display:flex;align-items:center;gap:5px;transition:all var(--transition-fast)}.segmented-btn:hover{color:var(--text-main);background:rgba(255,255,255,.04)}.segmented-btn.active{background:var(--primary);color:#ffffff;box-shadow:0 1px 6px rgba(0,0,0,.4)}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}@keyframes pulseGlow{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}.spin{animation:spin 1s linear infinite}.spin-slow{animation:spin 6s linear infinite}.pulse-glow{animation:pulseGlow 2.5s ease-in-out infinite}@media (max-width:768px){.hide-on-mobile{display:none!important}.show-on-mobile{display:flex!important}.mobile-drawer-open{transform:translateX(0)!important;box-shadow:0 0 40px rgba(0,0,0,.95)}}