.ng-root{position:fixed;inset:64px 0 0;display:flex;overflow:hidden;background:var(--st-bg)}#ng-canvas{flex:1;height:100%;position:relative}#ng-loading{position:absolute;inset:0 280px 0 0;background:#ffffffd9;display:flex;align-items:center;justify-content:center;z-index:50;pointer-events:none}#ng-loading-inner{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--st-text-dim);font-size:13px;font-family:var(--st-font-mono)}#ng-spinner{width:28px;height:28px;border:2px solid var(--st-border-2);border-top-color:var(--st-accent);border-radius:50%;animation:ng-spin .8s linear infinite}@keyframes ng-spin{to{transform:rotate(360deg)}}#ng-sidebar{width:280px;flex-shrink:0;height:100%;overflow-y:auto;background:var(--st-surface);border-left:1px solid var(--st-border);padding:12px;display:flex;flex-direction:column;gap:12px;font-size:12px;color:var(--st-text);box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--st-border) var(--st-surface)}#ng-sidebar::-webkit-scrollbar{width:6px}#ng-sidebar::-webkit-scrollbar-track{background:var(--st-surface)}#ng-sidebar::-webkit-scrollbar-thumb{background:var(--st-border);border-radius:3px}#ng-sidebar::-webkit-scrollbar-thumb:hover{background:var(--st-border-2, #c8c8cc)}#ng-search-wrap{position:relative}#ng-search{width:100%;background:var(--st-bg);border:1px solid var(--st-border-2);border-radius:4px;padding:6px 8px;color:var(--st-text);font-size:12px;outline:none;box-sizing:border-box}#ng-search:focus{border-color:var(--st-accent)}#ng-search-results{display:none;position:absolute;top:100%;left:0;right:0;background:var(--st-bg);border:1px solid var(--st-border-2);border-top:none;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;z-index:10}.ng-search-item{padding:5px 8px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-search-item:hover{background:var(--st-surface)}#ng-info-panel h3,#ng-legend-wrap h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--st-text-mute);margin:0 0 6px}#ng-info-content{line-height:1.6}.ng-field{margin-bottom:4px;font-size:12px}.ng-field b{color:var(--st-text-dim)}.ng-empty{color:var(--st-text-mute);font-style:italic}.ng-source-link{color:var(--st-accent);cursor:pointer;text-decoration:underline;word-break:break-all}.ng-source-link:hover{color:var(--st-accent-hover)}#ng-neighbors-list{display:flex;flex-direction:column;gap:3px;margin-top:4px}.ng-neighbor-link{display:block;cursor:pointer;padding:2px 0 2px 8px;border-left:3px solid var(--st-border-2);color:var(--st-text);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-neighbor-link:hover{color:var(--st-accent);background:var(--st-surface-2)}#ng-legend-controls{display:flex;gap:4px;margin-bottom:8px}#ng-legend-controls button{flex:1;background:var(--st-bg);border:1px solid var(--st-border-2);border-radius:3px;color:var(--st-text-dim);font-size:10px;padding:4px 0;cursor:pointer}#ng-legend-controls button:hover{background:var(--st-surface);color:var(--st-text)}#ng-solo.ng-active{background:var(--st-accent-soft);border-color:var(--st-accent);color:var(--st-accent)}#ng-legend{display:flex;flex-direction:column;gap:3px}.ng-legend-item{display:flex;align-items:center;gap:6px;cursor:pointer;padding:3px 4px;border-radius:3px;transition:opacity .15s}.ng-legend-item:hover{background:var(--st-surface-2)}.ng-legend-item.ng-dimmed{opacity:.35}.ng-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.ng-legend-label{flex:1;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ng-legend-count{font-size:10px;color:var(--st-text-mute);flex-shrink:0}#ng-stats{font-size:10px;color:var(--st-text-mute);margin-top:auto;padding-top:8px;border-top:1px solid var(--st-border)}.ng-error{color:var(--st-code-text);padding:24px;text-align:center;font-size:13px}#ng-reset,#ng-wiki{position:absolute;bottom:16px;background:#171321;border:1px solid #171321;border-radius:6px;color:#fff;font-size:14px;font-weight:600;padding:10px 18px;cursor:pointer;z-index:20;text-decoration:none;transition:background-color .15s,border-color .15s}#ng-reset{right:296px}#ng-wiki{right:436px}#ng-reset:hover,#ng-wiki:hover{background:#28272d;border-color:#28272d;color:#fff}#ng-modal-layer{position:fixed;inset:0;pointer-events:none;z-index:1000}.ng-modal{position:absolute;width:560px;height:460px;background:var(--st-bg);border:1px solid var(--st-border-2);border-radius:6px;box-shadow:0 4px 24px #0000001f;display:flex;flex-direction:column;overflow:hidden;pointer-events:auto}.ng-modal-titlebar{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--st-surface);border-bottom:1px solid var(--st-border-2);padding:8px 12px;flex-shrink:0;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ng-modal-titlebar:active{cursor:grabbing}.ng-modal-title{font-size:12px;font-weight:600;color:var(--st-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.ng-modal-close{background:none;border:none;color:var(--st-text-mute);font-size:18px;line-height:1;cursor:pointer;padding:0 2px;flex-shrink:0}.ng-modal-close:hover{color:var(--st-text)}.ng-modal-body{flex:1;overflow-y:auto;padding:16px;color:var(--st-text);font-size:13px;line-height:1.7}.ng-modal-body h1{font-size:17px;font-weight:700;color:var(--st-text);margin:0 0 12px}.ng-modal-body h2{font-size:14px;font-weight:600;color:var(--st-text);margin:16px 0 8px}.ng-modal-body h3{font-size:13px;font-weight:600;color:var(--st-text);margin:12px 0 6px}.ng-modal-body p{margin:0 0 10px}.ng-modal-body ul,.ng-modal-body ol{margin:0 0 10px;padding-left:18px}.ng-modal-body li{margin-bottom:4px}.ng-modal-body a{color:var(--st-accent);text-decoration:underline}.ng-modal-body a:hover{color:var(--st-accent-hover)}.ng-modal-body strong{color:var(--st-text)}.ng-modal-body code{background:var(--st-code-bg);color:var(--st-code-text);border-radius:3px;padding:1px 5px;font-family:var(--st-font-mono);font-size:12px}.ng-modal-body hr{border:none;border-top:1px solid var(--st-border);margin:14px 0}.ng-modal-loading{color:var(--st-text-mute);font-style:italic;font-size:12px;padding:8px 0}
