:root{--color-bg-app:#020406;--color-bg-canvas:#03070a;--color-bg-navbar:#03070ab8;--color-bg-toolbar:#04090dc7;--color-bg-control:#081118c7;--color-border-subtle:#cdf1f61b;--color-border-active:#23e8ff57;--color-text-primary:#f6f2e8;--color-text-secondary:#f6f2e8ad;--color-text-muted:#f6f2e870;--color-accent-cyan:#23e8ff;--color-accent-teal:#22dcc2;--color-accent-violet:#8b6cff;--color-accent-amber:#ffc45c;--color-node-default:#3a4655;--color-node-active:#35f4ff;--color-node-dimmed:#3a465547;--color-edge-default:#4b69763d;--color-edge-active:#23e8ffb8;--color-edge-dimmed:#4b69760f;--color-glow-cyan:#23e8ff38;--color-glow-violet:#8b6cff2e;--radius-navbar:18px;--radius-toolbar:14px;--radius-control:10px;--radius-node:999px;--shadow-navbar:0 18px 60px #0000006b, inset 0 1px 0 #ffffff0d;--shadow-toolbar:0 18px 62px #00000075, inset 0 1px 0 #ffffff0c;--shadow-node-active:0 0 0 1px #e2ffff9e, 0 0 24px #23e8ff52;--graph-bg:#05070b;--graph-panel:#05070bd6;--graph-panel-strong:#05070bf0;--graph-line:#f6f2e821;--graph-line-strong:#22dcc252;--graph-text:#f6f2e8;--graph-muted:#f6f2e894;--graph-dim:#f6f2e857;--graph-cyan:#22dcc2;--graph-blue:#7ecfff;--graph-violet:#8e5cff;--graph-amber:#ffcb53;--graph-green:#45d982;--graph-red:#ff6f7b;--graph-radius:10px;--graph-shadow:var(--shadow-toolbar)}.shimmer-loader{flex-direction:column;align-items:center;gap:12px;display:flex}.shimmer-circle{background:linear-gradient(90deg,#5ca7ff14 25%,#5ca7ff2e 50%,#5ca7ff14 75%) 0 0/200% 100%;border-radius:50%;width:48px;height:48px;animation:1.5s infinite shimmer}.shimmer-line{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff1a 50%,#ffffff0a 75%) 0 0/200% 100%;border-radius:5px;height:10px;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.graph-toolbar{z-index:100;background:var(--color-bg-toolbar);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #5ca7ff1f;border-radius:12px;align-items:center;gap:8px;padding:8px 16px;display:flex;position:fixed;top:104px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0006}.toolbar-btn{color:#c8ccd4;cursor:pointer;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff14;border-radius:8px;padding:6px 12px;font-size:12px;text-decoration:none;transition:all .2s}.toolbar-btn:hover{color:#fff;background:#5ca7ff1f}.toolbar-btn.primary{color:#5ca7ff;background:#5ca7ff26;border-color:#5ca7ff4d}.toolbar-btn.active{color:#45d982;background:#45d98226;border-color:#45d9824d}.toolbar-btn.synth:hover{color:#fff;background:linear-gradient(135deg,#7c4dff57,#5ca7ff3d)}.toolbar-btn.synth:disabled{opacity:.55;cursor:not-allowed}.toolbar-btn.detach-toggle{color:#dafffad1;background:linear-gradient(135deg,#22dcc229,#23e8ff1a);border-color:#22dcc23d}.toolbar-btn.detach-toggle:hover,.toolbar-btn.detach-toggle.active{color:#f6fffb;background:linear-gradient(135deg,#22dcc242,#8b6cff2e);border-color:#23e8ff6b}.toolbar-btn.tag-toggle{font-size:0!important}.toolbar-btn.tag-toggle:after{content:"Tags";font-size:12px}.toolbar-divider{background:#ffffff14;width:1px;height:20px}.toolbar-stats{color:#ffffff59;margin-left:8px;font-size:11px}.graph-filter-panel{z-index:125;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(135deg,#ffffff0d,#ffffff03),#070a11d6;border:1px solid #cdf1f61b;border-radius:14px;flex-direction:column;gap:11px;width:236px;max-height:calc(100vh - 188px);padding:10px;display:flex;position:fixed;top:158px;left:18px;overflow:hidden;box-shadow:0 22px 72px #00000073,inset 0 1px #ffffff0e}.filter-state-card{background:#05080eb8;border:1px solid #cdf1f613;border-radius:11px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;min-height:56px;padding:10px;display:grid}.filter-state-label,.filter-section-title{color:#f6f2e8c7;letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:820}.filter-state-select,.filter-state-add,.filter-mode-toggle button,.filter-clear{color:#f6f2e8b8;cursor:pointer;background:#f6f2e811;border:1px solid #cdf1f61a;border-radius:8px;min-height:30px}.filter-state-select{white-space:nowrap;justify-content:space-between;align-items:center;gap:8px;padding:0 9px;font-size:11px;display:inline-flex}.filter-state-add{color:#45d982;width:30px;font-size:18px}.filter-section-title{color:#f6f2e8a8;justify-content:center;gap:4px;margin-top:1px;display:flex}.filter-mode-toggle{justify-content:center;gap:6px;display:flex}.filter-mode-toggle button{padding:0 11px;font-size:11px;font-weight:820}.filter-mode-toggle button.active{color:#1b1010;background:#f6f2e8e6;border-color:#f6f2e880}.filter-clear{color:#f6f2e88a;align-self:center;width:28px;min-height:28px;font-size:16px}.filter-tag-list{scrollbar-width:thin;flex-direction:column;gap:7px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.filter-tag{--tag-color:#22dcc2;border:1px solid color-mix(in srgb, var(--tag-color) 42%, transparent);color:#fff;background:linear-gradient(90deg, color-mix(in srgb, var(--tag-color) 86%, #170000), color-mix(in srgb, var(--tag-color) 60%, #05070b));min-height:27px;box-shadow:0 8px 18px color-mix(in srgb, var(--tag-color) 12%, transparent);cursor:pointer;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 8px 0 11px;display:grid}.filter-tag span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:780;overflow:hidden}.filter-tag small{color:#ffffffc7;text-align:right;min-width:18px;font-size:10px;font-weight:820}.filter-tag.active{outline-offset:1px;filter:saturate(1.25)brightness(1.08);outline:2px solid #ffffffd1}.graph-canvas-shell{isolation:isolate;background:radial-gradient(circle at 62% 60%, #23e8ff0e, transparent 28rem), radial-gradient(circle at 70% 48%, #8b6cff09, transparent 32rem), linear-gradient(145deg, var(--color-bg-app), var(--color-bg-canvas) 48%, #010306);overflow:hidden}.graph-canvas-shell:after{content:"";z-index:1;pointer-events:none;mix-blend-mode:normal;background:radial-gradient(circle at 56% 55%,#0000 0 36%,#03070a38 74%,#000000ad),linear-gradient(#03070a42,#0000 26%,#03070a5c);position:fixed;inset:0}.graph-canvas-shell canvas{z-index:0;position:relative}body.graph-view-detached{background:#010306;overflow:hidden}body.graph-view-detached header,body.graph-view-detached footer{display:none!important}.graph-detached-section,.graph-canvas-shell--detached{min-height:100vh}body.graph-view-detached .graph-toolbar{max-width:min(1360px,100vw - 24px);top:14px}body.graph-view-detached .graph-filter-panel,body.graph-view-detached .search-bar{top:76px}body.graph-view-detached .link-mode-banner{top:74px}body.graph-view-detached .node-panel,body.graph-view-detached .contrib-card{top:82px}body.graph-view-detached .graph-canvas-shell:after{background:radial-gradient(circle at 52%,#0000 0 42%,#03070a33 76%,#00000094),linear-gradient(#03070a29,#0000 22%,#03070a4d)}.contrib-nav{position:relative}.contrib-badge{color:#fff;background:#ff5f70;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:9px;font-weight:700;animation:.3s ease-out badgePop;display:flex;position:absolute;top:-6px;right:-8px}@keyframes badgePop{0%{transform:scale(0)}70%{transform:scale(1.3)}to{transform:scale(1)}}.contrib-toggle{color:#a77cff!important;background:#a77cff1a!important;border-color:#a77cff40!important}.contrib-toggle:hover{color:#c9a0ff!important;background:#a77cff2e!important}.contrib-card{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);z-index:150;background:#0a0c14eb;border:1px solid #a77cff26;border-radius:14px;width:240px;padding:16px;animation:.25s ease-out slideInRight;position:fixed;top:158px;right:20px;box-shadow:0 8px 40px #00000080}.contrib-card-header{color:#e6e6e6;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;font-size:13px;font-weight:600;display:flex}.contrib-card-body{flex-direction:column;gap:8px;display:flex}.contrib-stat{align-items:center;gap:8px;font-size:12px;display:flex}.contrib-stat-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.contrib-stat-dot.pending{background:#ffb23f}.contrib-stat-dot.approved{background:#45d982}.contrib-stat-dot.rejected{background:#ff5f70}.contrib-stat-label{color:#ffffff80;flex:1}.contrib-stat-val{color:#e6e6e6;font-weight:600}.contrib-card-link{text-align:center;color:#a77cff;background:#a77cff1a;border:1px solid #a77cff26;border-radius:8px;margin-top:12px;padding:8px 0;font-size:12px;text-decoration:none;transition:all .2s;display:block}.contrib-card-link:hover{color:#c9a0ff;background:#a77cff2e}.link-mode-banner{z-index:99;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#45d982;background:#45d9821a;border:1px solid #45d98240;border-radius:10px;align-items:center;gap:10px;padding:6px 16px;font-size:12px;display:flex;position:fixed;top:144px;left:50%;transform:translate(-50%)}.link-mode-dot{background:#45d982;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite linkPulse}@keyframes linkPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.link-mode-cancel{color:#c8ccd4;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:6px;margin-left:4px;padding:3px 10px;font-size:11px}.link-mode-cancel:hover{color:#ff5f70;background:#ff5f7026;border-color:#ff5f704d}.ctx-menu{z-index:300;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0a0c14f2;border:1px solid #5ca7ff26;border-radius:10px;min-width:160px;position:fixed;overflow:hidden;box-shadow:0 8px 32px #00000080}.ctx-item{color:#c8ccd4;cursor:pointer;border-bottom:1px solid #ffffff0a;align-items:center;gap:8px;padding:8px 14px;font-size:12px;display:flex}.ctx-item:hover{color:#fff;background:#5ca7ff14}.ctx-item:last-child{border-bottom:none}.ctx-item.danger{color:#ff5f70}.ctx-item.danger:hover{background:#ff5f701a}.link-panel{z-index:150;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0a0c14eb;border:1px solid #5ca7ff1f;border-radius:12px;align-items:center;gap:10px;padding:10px 18px;display:flex;position:fixed;bottom:80px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0006}.link-panel-label{color:#ffffff80;font-size:12px}.link-panel-input{color:#e6e6e6;background:#ffffff0a;border:1px solid #5ca7ff1f;border-radius:6px;outline:none;width:120px;padding:5px 10px;font-family:Inter,sans-serif;font-size:12px}.link-panel-btn{color:#c8ccd4;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;border-radius:6px;padding:5px 10px;font-size:11px;transition:all .2s}.link-panel-btn:hover{color:#fff;background:#5ca7ff1f}.link-panel-btn.danger{color:#ff5f70}.link-panel-btn.danger:hover{background:#ff5f701a}.graph-toast{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#e6e6e6;z-index:200;cursor:pointer;background:#0a0c14e6;border:1px solid #5ca7ff33;border-radius:10px;padding:10px 20px;font-size:13px;animation:.3s ease-out toastIn;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0006}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.empty-state{flex-direction:column;justify-content:center;align-items:center;gap:16px;animation:.5s ease-out fadeIn;display:flex;position:absolute;inset:0}.empty-icon{filter:grayscale(.3);font-size:56px}.empty-title{color:#e6e6e6;margin:0;font-size:20px;font-weight:600}.empty-desc{color:#fff6;text-align:center;max-width:340px;margin:0;font-size:14px;line-height:1.6}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.node-panel{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);z-index:150;background:#0a0c14eb;border:1px solid #5ca7ff1f;border-radius:14px;flex-direction:column;gap:12px;width:320px;padding:20px;animation:.25s ease-out slideInRight;display:flex;position:fixed;top:168px;right:20px;box-shadow:0 8px 40px #00000080}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.node-panel-header{color:#e6e6e6;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;display:flex}.panel-close{color:#fff6;cursor:pointer;background:0 0;border:none;font-size:16px}.panel-close:hover{color:#fff}.panel-input{color:#e6e6e6;box-sizing:border-box;background:#ffffff0a;border:1px solid #5ca7ff1f;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-family:Inter,sans-serif;font-size:13px}.panel-input option{color:#e6e6e6;background:#141622}.panel-textarea{color:#c8ccd4;resize:vertical;box-sizing:border-box;background:#ffffff0a;border:1px solid #5ca7ff14;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-family:Inter,sans-serif;font-size:13px}.panel-url{color:#5ca7ff;word-break:break-all;font-size:12px;text-decoration:none}.panel-url:hover{text-decoration:underline}.panel-color-row{color:#ffffff80;align-items:center;gap:10px;font-size:13px;display:flex}.panel-color-row input[type=color]{cursor:pointer;background:0 0;border:none;width:32px;height:28px}.panel-meta{color:#ffffff80;flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.panel-stats{color:#ffffff59;border-top:1px solid #ffffff0d;gap:14px;padding:6px 0;font-size:11px;display:flex}.panel-actions{gap:8px;margin-top:4px;display:flex}.node-panel{scrollbar-width:thin;max-height:calc(100vh - 196px);overflow-y:auto}.panel-tags{flex-wrap:wrap;gap:6px;display:flex}.panel-tag{--tag-color:#22dcc2;color:#f6fbff;cursor:pointer;border:1px solid color-mix(in srgb, var(--tag-color) 48%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--tag-color) 32%, transparent), color-mix(in srgb, var(--tag-color) 12%, transparent));border-radius:999px;align-items:center;padding:3px 9px;font-size:10.5px;font-weight:720;line-height:1;transition:filter .15s,transform .15s;display:inline-flex}.panel-tag:hover{filter:brightness(1.18)saturate(1.1)}.panel-tag.active{outline-offset:1px;background:linear-gradient(135deg, color-mix(in srgb, var(--tag-color) 62%, transparent), color-mix(in srgb, var(--tag-color) 28%, transparent));outline:1.5px solid #ffffffd1}.panel-session{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.session-outcome{letter-spacing:.02em;border:1px solid #0000;border-radius:999px;align-items:center;padding:3px 10px;font-size:10.5px;font-weight:780;display:inline-flex}.session-outcome.outcome-success{color:#7dfabf;background:#45d98224;border-color:#45d98266}.session-outcome.outcome-partial{color:#ffe08a;background:#ffd93d1f;border-color:#ffd93d61}.session-outcome.outcome-failed{color:#ff9ea6;background:#ff6b6b1f;border-color:#ff6b6b66}.session-outcome.outcome-abandoned{color:#c2c7cd;background:#9aa0a624;border-color:#9aa0a65c}.session-specs{flex-wrap:wrap;gap:6px;display:flex}.session-spec{color:#f6f2e8b8;background:#5ca7ff1a;border:1px solid #5ca7ff33;border-radius:6px;padding:2px 8px;font-size:10.5px}.panel-connections{border-top:1px solid #ffffff0f;flex-direction:column;gap:8px;padding-top:10px;display:flex}.panel-connections-title{letter-spacing:.04em;text-transform:uppercase;color:#f6f2e899;font-size:11px;font-weight:760}.conn-group{flex-direction:column;gap:4px;display:flex}.conn-label{letter-spacing:.03em;color:var(--color-accent-teal);font-size:10px;font-weight:700}.conn-items{flex-direction:column;gap:3px;display:flex}.conn-item{text-align:left;cursor:pointer;color:#f6f2e8db;background:#f6f2e809;border:1px solid #cdf1f614;border-radius:8px;align-items:center;gap:7px;width:100%;padding:5px 8px;font-family:Inter,sans-serif;font-size:11.5px;transition:background .15s,border-color .15s;display:flex}.conn-item:hover{border-color:var(--color-border-active);background:#23e8ff17}.conn-item:focus-visible{outline-offset:2px;outline:2px solid #23e8ffe6}.conn-dir{color:#f6f2e86b;flex-shrink:0;font-size:11px}.conn-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.conn-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}@media (prefers-reduced-motion:reduce){.panel-tag,.conn-item{transition:none}}.modal-overlay{z-index:300;background:#0009;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:#141622;border:1px solid #5ca7ff26;border-radius:16px;flex-direction:column;gap:14px;width:440px;max-width:90vw;padding:28px;animation:.25s ease-out modalPop;display:flex;box-shadow:0 12px 48px #0009}@keyframes modalPop{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-content h3{color:#fff;margin:0;font-size:18px}.modal-import{gap:8px;display:flex}.modal-import .panel-input{flex:1}.modal-divider{text-align:center;color:#ffffff40;margin:4px 0;font-size:12px;position:relative}.modal-divider:before,.modal-divider:after{content:"";background:#ffffff14;width:35%;height:1px;position:absolute;top:50%}.modal-divider:before{left:0}.modal-divider:after{right:0}.modal-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.search-bar{z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0a0c14e6;border:1px solid #5ca7ff26;border-radius:10px;align-items:center;gap:6px;min-width:320px;padding:8px 14px;display:flex;position:fixed;top:158px;left:50%;transform:translate(-50%)}.search-input{color:#e6e6e6;background:0 0;border:none;outline:none;flex:1;font-family:Inter,sans-serif;font-size:13px}.search-input::placeholder{color:#ffffff40}.search-close{color:#ffffff4d;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:14px}.search-close:hover{color:#fff}.search-results{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0a0c14f2;border:1px solid #5ca7ff1f;border-radius:10px;max-height:200px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.search-item{color:#c8ccd4;cursor:pointer;border-bottom:1px solid #ffffff0a;align-items:center;gap:8px;padding:8px 14px;font-size:12px;display:flex}.search-item:hover{color:#fff;background:#5ca7ff14}.search-item:last-child{border-bottom:none}.zoom-controls{z-index:100;flex-direction:column;gap:4px;display:flex;position:fixed;bottom:20px;right:20px}.zoom-btn{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#b0b8c4;cursor:pointer;background:#0a0c14d9;border:1px solid #5ca7ff1a;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;transition:all .2s;display:flex}.zoom-btn:hover{color:#fff;background:#5ca7ff1f}.kbd-hint{z-index:100;color:#fff3;flex-direction:column;gap:2px;font-size:10px;display:flex;position:fixed;bottom:20px;left:20px}.kbd{background:#ffffff0f;border:1px solid #ffffff14;border-radius:3px;padding:1px 5px;font-family:monospace;font-size:10px;display:inline-block}.modal-lg{width:540px;max-height:85vh;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-header h3{color:#fff;margin:0;font-size:18px}.import-tabs{border:1px solid #5ca7ff1f;border-radius:10px;gap:0;display:flex;overflow:hidden}.import-tab{text-align:center;color:#ffffff80;cursor:pointer;background:#ffffff08;border:none;flex:1;padding:10px 0;font-family:Inter,sans-serif;font-size:12px;transition:all .2s}.import-tab:not(:last-child){border-right:1px solid #5ca7ff14}.import-tab:hover{color:#c8ccd4;background:#5ca7ff0f}.import-tab.active{color:#5ca7ff;background:#5ca7ff1f;box-shadow:inset 0 -2px #5ca7ff}.import-tab-body{flex-direction:column;gap:10px;padding:4px 0;display:flex}.import-hint{color:#ffffff59;margin:0;font-size:12px;line-height:1.5}.import-or{justify-content:center;padding:4px 0;display:flex}.pdf-upload{cursor:pointer;background:#5ca7ff08;border:2px dashed #5ca7ff33;border-radius:12px;justify-content:center;align-items:center;padding:20px;transition:all .2s;display:flex}.pdf-upload:hover{background:#5ca7ff0f;border-color:#5ca7ff66}.pdf-upload-text{color:#ffffff80;font-size:13px}.preview-container{flex-direction:column;gap:12px;display:flex}.preview-summary{color:#fff9;justify-content:space-between;align-items:center;font-size:13px;display:flex}.preview-list{flex-direction:column;gap:4px;max-height:320px;padding-right:4px;display:flex;overflow-y:auto}.preview-list::-webkit-scrollbar{width:4px}.preview-list::-webkit-scrollbar-thumb{background:#5ca7ff33;border-radius:2px}.preview-node{cursor:pointer;border:1px solid #ffffff0a;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;transition:all .15s;display:flex}.preview-node.selected{background:#5ca7ff0f;border-color:#5ca7ff26}.preview-node.dimmed{opacity:.4;background:0 0;border-color:#0000}.preview-node:hover{background:#5ca7ff14}.preview-check{color:#5ca7ff;min-width:18px;font-size:14px}.preview-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.preview-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.preview-title{color:#e6e6e6;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.preview-desc{color:#ffffff4d;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.preview-type{flex-shrink:0;font-size:14px}.preview-links-info{color:#ffffff4d;text-align:center;padding:4px 0;font-size:11px}.export-menu{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:200;background:#0a0c14f2;border:1px solid #5ca7ff26;border-radius:10px;min-width:160px;margin-top:6px;animation:.2s ease-out dropIn;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 8px 32px #00000080}@keyframes dropIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.export-item{color:#c8ccd4;cursor:pointer;border-bottom:1px solid #ffffff0a;padding:10px 14px;font-size:12px;transition:all .15s}.export-item:hover{color:#fff;background:#5ca7ff14}.export-item:last-child{border-bottom:none}@media (max-width:768px){.graph-toolbar{flex-wrap:wrap;justify-content:center;gap:4px;padding:6px 10px}.toolbar-btn{padding:5px 8px;font-size:11px}.toolbar-stats{display:inline-flex}.kbd-hint{display:flex}.node-panel{width:calc(100vw - 32px);max-height:45vh;top:auto;bottom:16px;right:16px;overflow-y:auto}.search-bar{min-width:260px}}.graph-toolbar,.search-bar,.node-panel,.link-panel,.ctx-menu,.contrib-card,.modal-content,.export-menu{background:linear-gradient(135deg, #ffffff0d, #ffffff04), var(--graph-panel-strong);border-color:var(--color-border-subtle);border-radius:var(--radius-toolbar);box-shadow:var(--graph-shadow);color:var(--graph-text)}.graph-toolbar{scrollbar-width:none;-ms-overflow-style:none;border-color:#cdf1f621;max-width:min(1280px,100vw - 32px);overflow:auto hidden;box-shadow:0 22px 70px #00000075,0 0 30px #23e8ff09,inset 0 1px #ffffff0f}.graph-toolbar::-webkit-scrollbar{display:none}.toolbar-btn,.link-panel-btn,.zoom-btn,.import-tab{background:var(--color-bg-control);border-color:var(--color-border-subtle);color:#f6f2e89e;border-radius:var(--radius-control);box-shadow:none;flex:none}.toolbar-btn:hover,.link-panel-btn:hover,.zoom-btn:hover,.import-tab:hover{border-color:var(--color-border-active);color:var(--graph-text);background:#0d1e26db;box-shadow:0 0 0 3px #23e8ff0e,0 0 18px #23e8ff14}.toolbar-btn.primary,.import-tab.active{color:#e8fffff5;background:linear-gradient(135deg,#23e8ff2e,#22dcc23d),#081c23eb;border-color:#23e8ff61;box-shadow:0 0 0 1px #23e8ff0f,0 10px 26px #22dcc21a}.toolbar-btn.active,.btn-teal{border-color:var(--color-border-active);color:#eaffff;background:radial-gradient(circle at 26% 0,#23e8ff29,#0000 42%),#09222eeb;box-shadow:0 0 0 1px #23e8ff14,0 0 22px #23e8ff1f}.toolbar-btn.synth{color:#eef3ffd1;background:linear-gradient(135deg,#23e8ff1c,#8b6cff33),#111426d1;border-color:#8b6cff47}.toolbar-divider{background:var(--graph-line)}.toolbar-stats{border-radius:var(--radius-control);min-height:30px;color:var(--color-text-muted);white-space:nowrap;background:#03080c94;border:1px solid #cdf1f61a;flex:none;align-items:center;padding:0 9px;display:inline-flex}.panel-input,.panel-textarea,.link-panel-input,.search-input{border-color:var(--graph-line);color:var(--graph-text);background:#f6f2e80a}.panel-input:focus,.panel-textarea:focus,.link-panel-input:focus,.search-bar:focus-within{border-color:var(--color-border-active);box-shadow:0 0 0 3px #23e8ff14}.empty-state{text-align:center;background:radial-gradient(circle at 50% 40%,#22dcc20f,#0000 18rem),linear-gradient(#05070b1a,#05070b8c);padding:24px}.empty-title{color:var(--graph-text)}.empty-desc,.toolbar-stats,.kbd-hint,.panel-stats,.import-hint,.preview-links-info{color:var(--graph-muted)}.zoom-controls{z-index:120;bottom:28px}.zoom-btn{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#ffffff0e,#ffffff03),#050a0fc7;box-shadow:0 12px 34px #00000052}.kbd-hint{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:120;background:#03080c6b;border:1px solid #cdf1f614;border-radius:12px;padding:8px 10px}.kbd{color:#f6f2e89e;background:#f6f2e80e;border-color:#cdf1f61f}.toolbar-btn:focus-visible,.link-panel-btn:focus-visible,.zoom-btn:focus-visible,.import-tab:focus-visible,.panel-close:focus-visible,.search-close:focus-visible{outline-offset:2px;outline:2px solid #23e8ffe6}@media (max-width:768px){.graph-toolbar{justify-content:flex-start;max-height:none;top:92px;left:16px;right:16px;overflow:auto hidden;transform:none}.graph-filter-panel{width:calc(100vw - 32px);max-height:190px;top:230px;left:16px}.filter-state-card{grid-template-columns:auto minmax(0,1fr) auto;min-height:46px}.filter-tag-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.search-bar{min-width:0;top:216px;left:16px;right:16px;transform:none}.link-mode-banner{justify-content:space-between;top:188px;left:16px;right:16px;transform:none}.zoom-controls{bottom:92px}.toolbar-stats{min-height:28px;margin-left:0;font-size:10.5px}.kbd-hint{color:#f6f2e86b;gap:1px;max-width:152px;padding:6px 8px;font-size:9px;bottom:96px;left:12px}.kbd{padding:1px 4px;font-size:8.5px}}.izzi-fs-inspector .node-panel{border-radius:18px;gap:16px;width:min(1040px,94vw);max-width:none;max-height:90vh;padding:30px clamp(20px,4vw,48px);animation:.28s cubic-bezier(.16,1,.3,1) fsInspectorIn;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 24px 90px #0000009e}@keyframes fsInspectorIn{0%{opacity:0;transform:translate(-50%,calc(10px - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}.izzi-fs-inspector .node-panel-header{font-size:16px}.izzi-fs-inspector .panel-input{padding:12px 14px;font-size:15px}.izzi-fs-inspector .panel-textarea{min-height:180px;font-size:14px}.izzi-fs-inspector .panel-connections{max-height:none}@media (prefers-reduced-motion:reduce){.izzi-fs-inspector .node-panel{animation:none}}
