:root{--app-bg: #0a0a0a;--text-primary: #e5e7eb;--panel-bg: #0b0f14;--panel-border: #1f2937;--accent: #22d3ee;--accent-weak: rgba(34, 211, 238, .25);--node-bg-start: #0b0f14;--node-bg-end: #0a0e12;--node-border: #1f2937;--title-color: #e5e7eb;--io-title-color: #e5e7eb;--muted: #94a3b8;--control-bg: #0f172a;--control-fg: #e5e7eb;--control-border: #334155;--socket-grad-1: #164e63;--socket-grad-2: #0b1320;--socket-border: #334155;--conn-stroke: #67e8f9;--canvas-bg: #0a0f14;--grid-major: rgba(71, 85, 105, .22);--grid-minor: rgba(51, 65, 85, .14);color-scheme:dark}:root[data-theme=dark]{--app-bg: #0a0a0a;--text-primary: #e5e7eb;--panel-bg: #0b0f14;--panel-border: #1f2937;--panel-grad-from: #111827;--panel-grad-to: #0a0a0a;--accent: #22d3ee;--accent-weak: rgba(34, 211, 238, .25);--node-bg-start: #0d1013;--node-bg-end: #0a0e12;--node-border: #1f2937;--title-color: #e5e7eb;--io-title-color: #e5e7eb;--muted: #94a3b8;--control-bg: #0f172a;--control-fg: #e5e7eb;--control-border: #334155;--socket-grad-1: #164e63;--socket-grad-2: #0b1320;--socket-border: #334155;--conn-stroke: #67e8f9;--canvas-bg: #111827;--grid-major: rgba(97, 106, 120, .26);--grid-minor: rgba(47, 77, 116, .14);color-scheme:dark;--section-bar-bg: rgba(148, 163, 184, .12)}:root[data-theme=light]{--app-bg: #f8fafc;--text-primary: #1e293b;--panel-bg: #ffffff;--panel-border: #e2e8f0;--panel-grad-from: #ffffff;--panel-grad-to: #f8fafc;--accent: #0891b2;--accent-weak: rgba(8, 145, 178, .15);--node-bg-start: #ffffff;--node-bg-end: #f8fafc;--node-border: #e2e8f0;--title-color: #1e293b;--io-title-color: #1e293b;--muted: #64748b;--control-bg: #f8fafc;--control-fg: #1e293b;--control-border: #cbd5e1;--socket-grad-1: #e0f2fe;--socket-grad-2: #f1f5f9;--socket-border: #cbd5e1;--conn-stroke: #0891b2;--canvas-bg: #f8fafc;--grid-major: rgba(0, 0, 0, .08);--grid-minor: rgba(0, 0, 0, .04);color-scheme:light;--section-bar-bg: rgba(30, 41, 59, .04)}html,body{width:100%;height:100%;margin:0;overflow:hidden;background-color:var(--app-bg);color:var(--text-primary)}.bg-neutral-950{background-color:var(--app-bg)!important}.bg-neutral-900,.bg-neutral-900\/40,.bg-neutral-900\/70,.bg-neutral-900\/60,.bg-neutral-900\/80,.bg-neutral-800,.bg-neutral-800\/70,.bg-neutral-800\/80,.bg-neutral-800\/60{background-color:var(--panel-bg)!important}.border-neutral-800,.border-neutral-800\/70,.border-neutral-700,.border-neutral-700\/60,.border-neutral-700\/40,.border-neutral-700\/50{border-color:var(--panel-border)!important}.text-gray-100,.text-gray-200,.text-gray-300{color:var(--text-primary)!important}.text-gray-400,.text-gray-500,.text-gray-600,.text-gray-700{color:var(--muted)!important}.text-gray-800,.text-gray-900{color:var(--text-primary)!important}.hover\:bg-neutral-700:hover{background-color:var(--panel-border)!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:fadeIn .5s ease-out forwards}.hover\:bg-neutral-700\/10:hover,.hover\:bg-neutral-700\/20:hover{background-color:var(--panel-border)!important}.text-cyan-400{color:var(--accent)!important}.hover\:border-cyan-500\/40:hover{border-color:var(--accent)!important}.hover\:text-white:hover{color:var(--text-primary)!important}.themed-card{background:linear-gradient(to bottom,var(--panel-grad-from),var(--panel-grad-to));background-color:var(--panel-bg)}.sidebar-section__bar{display:flex;align-items:center;gap:8px;padding:6px 10px;margin:2px 0 8px;background:var(--section-bar-bg);border:1px solid var(--panel-border);border-radius:10px}.sidebar-section__icon{width:14px;height:14px;border-radius:9999px;background:var(--accent);box-shadow:0 0 8px var(--accent-weak);opacity:.9}.sidebar-section__title{font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--text-primary)}@keyframes toastIn{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toastOut{0%{transform:translateY(0);opacity:1}to{transform:translateY(-6px);opacity:0}}.toast-slide-in{animation:toastIn .18s ease-out}.fill-area{display:table;z-index:-1;position:absolute;top:-320000px;left:-320000px;width:640000px;height:640000px}.background{background-color:var(--canvas-bg);opacity:1;background-image:radial-gradient(ellipse at 20% 0%,#67e8f90f,#0000 60%),radial-gradient(ellipse at 80% 0%,#67e8f90a,#0000 60%),linear-gradient(var(--grid-major) 1.5px,transparent 1.5px),linear-gradient(90deg,var(--grid-major) 1.5px,transparent 1.5px),linear-gradient(var(--grid-minor) 1px,transparent 1px),linear-gradient(90deg,var(--grid-minor) 1px,transparent 1px);background-size:100% 100%,100% 100%,80px 80px,80px 80px,16px 16px,16px 16px;background-position:0 0,0 0,0 0,0 0,0 0,0 0}.keyboard-shortcuts-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.keyboard-shortcuts-modal{background:var(--bg-primary, #1e1e1e);border-radius:16px;box-shadow:0 20px 60px #00000080;max-width:700px;width:90%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.shortcuts-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid var(--border-color, #333);background:var(--bg-secondary, #252525)}.shortcuts-header h2{margin:0;font-size:24px;font-weight:600;color:var(--text-primary, #ffffff)}.close-btn{background:transparent;border:none;font-size:24px;color:var(--text-secondary, #999);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.close-btn:hover{background:var(--hover-bg, #333);color:var(--text-primary, #ffffff)}.shortcuts-content{padding:24px 28px;overflow-y:auto;flex:1}.shortcuts-section{margin-bottom:28px}.shortcuts-section:last-child{margin-bottom:0}.shortcuts-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--accent-color, #6366f1);text-transform:uppercase;letter-spacing:.5px}.shortcuts-list{display:flex;flex-direction:column;gap:12px}.shortcut-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--bg-tertiary, #2a2a2a);border-radius:8px;transition:background .2s}.shortcut-item:hover{background:var(--hover-bg, #333)}.shortcut-keys{display:flex;align-items:center;gap:4px;min-width:180px}.shortcut-keys kbd{display:inline-block;padding:4px 10px;font-family:Consolas,Monaco,monospace;font-size:13px;font-weight:600;color:var(--text-primary, #ffffff);background:var(--kbd-bg, #1a1a1a);border:1px solid var(--kbd-border, #444);border-radius:5px;box-shadow:0 2px 0 var(--kbd-shadow, #111),0 1px 2px #0006;min-width:32px;text-align:center}.shortcut-keys .plus{color:var(--text-secondary, #999);margin:0 2px;font-weight:600}.shortcut-description{flex:1;text-align:right;color:var(--text-secondary, #bbb);font-size:14px}.shortcuts-footer{padding:20px 28px;border-top:1px solid var(--border-color, #333);background:var(--bg-secondary, #252525)}.shortcuts-footer p{margin:0;font-size:14px;color:var(--text-secondary, #999);display:flex;align-items:center;gap:8px}.shortcuts-footer strong{color:var(--text-primary, #ffffff)}[data-theme=light] .keyboard-shortcuts-modal{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #f1f3f5;--text-primary: #1a1a1a;--text-secondary: #666;--border-color: #e0e0e0;--hover-bg: #e9ecef;--accent-color: #5b5fc7;--kbd-bg: #ffffff;--kbd-border: #d0d0d0;--kbd-shadow: #e0e0e0}.shortcuts-content::-webkit-scrollbar{width:8px}.shortcuts-content::-webkit-scrollbar-track{background:var(--bg-secondary, #252525)}.shortcuts-content::-webkit-scrollbar-thumb{background:var(--border-color, #444);border-radius:4px}.shortcuts-content::-webkit-scrollbar-thumb:hover{background:var(--text-secondary, #666)}@media (max-width: 768px){.keyboard-shortcuts-modal{max-width:95%;max-height:90vh}.shortcuts-header,.shortcuts-content{padding:20px}.shortcut-item{flex-direction:column;align-items:flex-start;gap:8px}.shortcut-keys{min-width:auto}.shortcut-description{text-align:left}.shortcuts-footer{padding:16px 20px}}
