*,:before,:after{box-sizing:border-box}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#2a2a3e;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3a3a5a}*{scrollbar-width:thin;scrollbar-color:#2a2a3e transparent}body{margin:0;padding:0;overflow:hidden}#root{width:100vw;height:100vh}.app-container{color:#e0e0e0;background:#0f0f1a;flex-direction:column;height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;display:flex}.app-header{background:#161625;border-bottom:1px solid #2a2a3e;flex-shrink:0;justify-content:space-between;align-items:center;height:52px;padding:0 20px;display:flex}.app-header h1{letter-spacing:.5px;margin:0;font-size:16px;font-weight:600}.app-main{flex:1;min-height:0;display:flex;position:relative}.tab-bar{background:#0e0e1a;border-bottom:1px solid #2a2a3e;flex-shrink:0;align-items:stretch;gap:2px;padding:0 8px;display:flex;overflow:visible}.tab{color:#88a;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:6px 14px;font-size:12px;transition:all .15s;display:flex}.tab:hover{color:#c0c0e0;background:#1a1a2e}.tab-active{color:#e0e0e0;background:#12121f;border-bottom-color:#4a90d9}.tab-name{text-overflow:ellipsis;max-width:140px;overflow:hidden}.tab-rename-input{color:#e0e0e0;background:#0f0f1a;border:1px solid #5a5a8a;border-radius:3px;outline:none;width:120px;padding:2px 6px;font-size:12px}.tab-rename-input:focus{border-color:#8b8bff}.tab-close{color:#6a6a8a;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:0 2px;font-size:14px;line-height:1}.tab-close:hover{color:#ff6b6b;background:#ff646426}.tab-add{color:#6a6a8a;cursor:pointer;background:0 0;border:none;padding:4px 10px;font-size:18px;line-height:1}.tab-add:hover{color:#50c878}.tab-bar-spacer{flex:1}.draw-tools{align-items:center;gap:4px;padding-right:8px;display:flex;overflow:visible}.draw-btn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:3px 6px;font-size:14px;line-height:1;transition:all .15s}.draw-btn:hover{background:#ffffff14}.draw-btn-active{background:#ffffff1f;border-color:#5a5a8a}.draw-btn-wrapper{padding-bottom:4px;position:relative}.color-picker-popup{z-index:100;background:#1e1e32;border:1px solid #3a3a5a;border-radius:6px;flex-wrap:wrap;gap:4px;width:88px;margin-top:0;padding:6px;display:none;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #0006}.draw-btn-wrapper:hover .color-picker-popup{display:flex}.color-dot{cursor:pointer;border:2px solid #0000;border-radius:50%;width:18px;height:18px;padding:0;transition:border-color .15s}.color-dot:hover{border-color:#ffffff80}.color-dot-active{border-color:#fff}.editor-wrapper{z-index:10;display:flex;position:absolute;top:0;bottom:0;left:0}.editor-panel{background:#12121f;border-right:1px solid #2a2a3e;flex-direction:column;flex:1;display:flex}.resize-handle{cursor:col-resize;background:0 0;flex-shrink:0;width:5px;transition:background .15s}.resize-handle:hover,.resize-handle:active{background:#8a8aff4d}.panel-expand-btn{z-index:10;color:#e0e0e0;cursor:pointer;background:#1e1e32;border:1px solid #3a3a5a;border-radius:6px;padding:6px 10px;font-size:16px;transition:all .15s;position:absolute;top:8px;left:8px}.panel-expand-btn:hover{background:#2a2a45;border-color:#5a5a8a}.editor-header{text-transform:uppercase;letter-spacing:1px;color:#88a;border-bottom:1px solid #2a2a3e;padding:10px 14px;font-size:12px;font-weight:600}.editor-tabs{border-bottom:1px solid #2a2a3e;flex-shrink:0;display:flex}.editor-tab{color:#6a6a8a;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:8px 14px;font-size:12px;font-weight:600;transition:all .15s}.editor-tab:hover{color:#b0b0c8;background:#ffffff08}.editor-tab-active{color:#e0e0e0;border-bottom-color:#5a5a8a}.notes-body{flex:1;min-height:0;display:flex;overflow:hidden}.notes-editor{color:#c8d6e5;word-wrap:break-word;outline:none;flex:1;padding:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.7;overflow-y:auto}.notes-editor:empty:before{content:attr(data-placeholder);color:#4a4a6a;pointer-events:none}.notes-editor b,.notes-editor strong{color:#e8e8f0}.notes-editor i,.notes-editor em{color:#a0b0c8}.notes-editor u{text-decoration-color:#5a5a8a}.notes-editor ul,.notes-editor ol{margin:4px 0;padding-left:24px}.notes-editor li{margin:2px 0}.editor-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.editor-body .cm-editor{flex:1;overflow:auto}.editor-body .cm-editor.cm-focused{outline:none}.editor-error{color:#f88;background:#3d1515;border-top:1px solid #5a2020;padding:8px 14px;font-size:12px}.reference-panel{border-top:1px solid #2a2a3e;flex-shrink:0}.reference-toggle{color:#88a;text-align:left;cursor:pointer;letter-spacing:.5px;background:#161625;border:none;width:100%;padding:8px 14px;font-size:12px;font-weight:600}.reference-toggle:hover{color:#b0b0d0;background:#1a1a2e}.reference-content{max-height:260px;padding:8px 12px 12px;overflow-y:auto}.reference-section{margin-bottom:10px}.reference-section-title{text-transform:uppercase;letter-spacing:.8px;color:#6a6a8a;margin-bottom:6px;font-size:10px;font-weight:700}.reference-grid{grid-template-columns:1fr 1fr;gap:3px 8px;display:grid}.reference-tier-divider{background:#2a2a3e;height:1px;margin:5px 0}.reference-item{color:#b0b0c8;align-items:center;gap:5px;padding:1px 0;font-size:11px;display:flex}.reference-item-clickable{cursor:pointer;border-radius:4px;padding:2px 4px;transition:background .15s}.reference-item-clickable:hover{background:#ffffff14}.reference-hint{color:#5a5a7a;font-size:9px;font-style:italic;font-weight:400}.reference-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.reference-icon{flex-shrink:0;font-size:11px}.reference-type{font-family:JetBrains Mono,Fira Code,monospace;font-size:10px}.reference-conn-list{flex-direction:column;gap:4px;display:flex}.reference-conn-item{align-items:center;gap:8px;font-size:11px;display:flex}.reference-conn-label{min-width:60px;font-family:JetBrains Mono,Fira Code,monospace;font-size:10px;font-weight:600}.reference-conn-desc{color:#7a7a9a;font-size:10px}.canvas-panel{flex:1;position:relative;overflow:hidden}.draw-overlay{width:100%;height:100%;position:absolute;top:0;left:0}.diagram-svg{display:block}.diagram-node{transition:filter .15s}.diagram-node-interactive{cursor:grab}.diagram-node:hover{filter:brightness(1.15)drop-shadow(0 2px 8px #0000004d)}.toolbar{align-items:center;gap:16px;display:flex}.toolbar-group{align-items:center;gap:6px;display:flex}.toolbar-label{text-transform:uppercase;letter-spacing:.8px;color:#6a6a8a;margin-right:2px;font-size:10px}.toolbar-select{color:#e0e0e0;cursor:pointer;background:#1e1e32;border:1px solid #3a3a5a;border-radius:4px;outline:none;padding:4px 8px;font-size:12px}.toolbar-select:hover{border-color:#5a5a8a}.toolbar-btn{color:#e0e0e0;cursor:pointer;background:#1e1e32;border:1px solid #3a3a5a;border-radius:4px;padding:4px 10px;font-size:12px;transition:all .15s}.toolbar-btn:hover{background:#2a2a45;border-color:#5a5a8a}.toolbar-btn:active{transform:scale(.96)}.copy-toast{color:#fff;z-index:1000;background:#2a8a4a;border-radius:6px;padding:10px 18px;font-size:13px;font-weight:500;animation:.3s toast-in;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 12px #0000004d}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.yaml-flash{background:#8b5cf64d;border-radius:2px;animation:1.2s ease-out forwards yaml-flash-fade}@keyframes yaml-flash-fade{0%{background:#8b5cf666}70%{background:#8b5cf626}to{background:0 0}}
