@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-deepest: #050d1a;--bg-deep: #0a1929;--bg-surface: #0f1b2d;--bg-elevated: #1e293b;--bg-overlay: rgba(15, 23, 42, .95);--bg-panel: rgba(15, 23, 42, .85);--bg-upload: rgba(5, 10, 20, .85);--bg-upload-card: linear-gradient(145deg, rgba(15,23,42,.95), rgba(30,41,59,.9));--bg-graph: radial-gradient(ellipse at center, #0f1b2d 0%, #0a1929 70%);--bg-ctrl-btn: rgba(15, 23, 42, .85);--bg-ctrl-hover: rgba(30, 41, 59, .95);--bg-code: rgba(0, 0, 0, .2);--bg-tag: rgba(96, 165, 250, .1);--bg-close: rgba(148, 163, 184, .1);--bg-file: rgba(148, 163, 184, .08);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--text-faint: #475569;--text-body: #cbd5e1;--accent-blue: #60a5fa;--accent-blue-dim: #93c5fd;--accent-green: #4ade80;--accent-red: #f87171;--border-subtle: rgba(148, 163, 184, .1);--border-ctrl: rgba(148, 163, 184, .2);--border-tag: rgba(96, 165, 250, .15);--promo-text: rgba(148, 163, 184, .55);--promo-label: rgba(148, 163, 184, .35);--promo-sep: rgba(148, 163, 184, .2);--promo-dot: rgba(148, 163, 184, .3);--attr-text: rgba(148, 163, 184, .35);--attr-link: rgba(148, 163, 184, .45);--cy-node-label: #e2e8f0;--cy-node-outline: #0a1929;--cy-edge-color: #475569;--cy-edge-label: #94a3b8;--cy-edge-outline: #0a1929;--toggle-bg: rgba(148, 163, 184, .1);--toggle-color: #94a3b8;--toggle-hover-bg: rgba(148, 163, 184, .2);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5;color:var(--text-primary);background:var(--bg-deep);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;color-scheme:dark}[data-theme=light]{--bg-deepest: #f0f4f8;--bg-deep: #f8fafc;--bg-surface: #ffffff;--bg-elevated: #e2e8f0;--bg-overlay: rgba(248, 250, 252, .97);--bg-panel: rgba(255, 255, 255, .9);--bg-upload: rgba(226, 232, 240, .85);--bg-upload-card: linear-gradient(145deg, rgba(255,255,255,.98), rgba(241,245,249,.95));--bg-graph: radial-gradient(ellipse at center, #f0f4f8 0%, #e2e8f0 70%);--bg-ctrl-btn: rgba(255, 255, 255, .9);--bg-ctrl-hover: rgba(241, 245, 249, .98);--bg-code: rgba(148, 163, 184, .12);--bg-tag: rgba(59, 130, 246, .08);--bg-close: rgba(100, 116, 139, .1);--bg-file: rgba(100, 116, 139, .1);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--text-faint: #94a3b8;--text-body: #334155;--accent-blue: #2563eb;--accent-blue-dim: #3b82f6;--accent-green: #16a34a;--accent-red: #dc2626;--border-subtle: rgba(100, 116, 139, .18);--border-ctrl: rgba(100, 116, 139, .25);--border-tag: rgba(59, 130, 246, .2);--promo-text: rgba(71, 85, 105, .75);--promo-label: rgba(71, 85, 105, .5);--promo-sep: rgba(71, 85, 105, .25);--promo-dot: rgba(71, 85, 105, .35);--attr-text: rgba(71, 85, 105, .5);--attr-link: rgba(71, 85, 105, .6);--cy-node-label: #1e293b;--cy-node-outline: #f0f4f8;--cy-edge-color: #94a3b8;--cy-edge-label: #64748b;--cy-edge-outline: #f0f4f8;--toggle-bg: rgba(100, 116, 139, .1);--toggle-color: #475569;--toggle-hover-bg: rgba(100, 116, 139, .2);color-scheme:light}html,body,#app{width:100%;height:100%;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#94a3b826;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b840}::selection{background:#60a5fa4d;color:#f1f5f9}:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}button{font-family:inherit}a{color:var(--accent-blue);text-decoration:none}a:hover{text-decoration:underline}.graph-container[data-v-5b2644ad]{position:relative;width:100%;height:100%;background:var(--bg-graph);transition:background .25s ease}.graph-controls[data-v-5b2644ad]{position:absolute;bottom:20px;left:20px;display:flex;flex-direction:column;gap:6px;z-index:10}.graph-controls button[data-v-5b2644ad]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-ctrl);border-radius:8px;background:var(--bg-ctrl-btn);color:var(--text-secondary);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .2s ease}.graph-controls button[data-v-5b2644ad]:hover{background:var(--bg-ctrl-hover);color:var(--text-primary);border-color:#60a5fa66;transform:scale(1.05)}.upload-overlay[data-v-8b2d5bd0]{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:var(--bg-upload);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.upload-panel[data-v-8b2d5bd0]{text-align:center;padding:48px 56px;border-radius:20px;background:var(--bg-upload-card);border:1px solid var(--border-subtle);box-shadow:0 25px 50px -12px #00000080,inset 0 1px #ffffff0d;max-width:480px;width:90%;transition:border-color .3s ease,box-shadow .3s ease}.upload-panel.drag-active[data-v-8b2d5bd0]{border-color:var(--accent-blue-dim);box-shadow:0 25px 50px -12px #00000080,0 0 30px #60a5fa26,inset 0 1px #ffffff0d}.upload-icon[data-v-8b2d5bd0]{color:var(--accent-blue);margin-bottom:16px;animation:float-8b2d5bd0 3s ease-in-out infinite}@keyframes float-8b2d5bd0{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}h2[data-v-8b2d5bd0]{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 8px;letter-spacing:-.02em}p[data-v-8b2d5bd0]{color:var(--text-secondary);font-size:.875rem;margin:0 0 24px;line-height:1.5}input[type=file][data-v-8b2d5bd0]{display:none}.upload-actions[data-v-8b2d5bd0]{display:flex;gap:12px;justify-content:center}.upload-actions button[data-v-8b2d5bd0]{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.btn-browse[data-v-8b2d5bd0]{background:#60a5fa26;color:#60a5fa;border:1px solid rgba(96,165,250,.3)!important}.btn-browse[data-v-8b2d5bd0]:hover{background:#60a5fa40;transform:translateY(-1px)}.btn-sample[data-v-8b2d5bd0]{background:#4ade801f;color:#4ade80;border:1px solid rgba(74,222,128,.25)!important}.btn-sample[data-v-8b2d5bd0]:hover{background:#4ade8038;transform:translateY(-1px)}.error-msg[data-v-8b2d5bd0]{color:var(--accent-red)!important;font-size:.8rem!important;margin-top:16px!important}.fade-enter-active[data-v-8b2d5bd0],.fade-leave-active[data-v-8b2d5bd0]{transition:opacity .3s ease}.fade-enter-from[data-v-8b2d5bd0],.fade-leave-to[data-v-8b2d5bd0]{opacity:0}.detail-panel[data-v-e1ea9828]{position:absolute;top:0;right:0;width:380px;height:100%;background:var(--bg-panel);border-left:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);overflow-y:auto;padding:24px;z-index:20;box-shadow:-8px 0 32px #00000026;transition:background .25s ease,border-color .25s ease}.panel-header[data-v-e1ea9828]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.node-type-badge[data-v-e1ea9828]{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border:1px solid}.badge-icon[data-v-e1ea9828]{width:16px;height:16px;filter:brightness(0) saturate(100%) invert(1)}.close-btn[data-v-e1ea9828]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:var(--bg-close);color:var(--text-faint);cursor:pointer;transition:all .2s ease}.close-btn[data-v-e1ea9828]:hover{background:#ef444433;color:var(--accent-red)}.node-name[data-v-e1ea9828]{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 20px;letter-spacing:-.01em;line-height:1.3}.section[data-v-e1ea9828]{margin-bottom:20px}.section h3[data-v-e1ea9828]{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px}.section p[data-v-e1ea9828]{color:var(--text-body);font-size:.85rem;line-height:1.6;margin:0}.tags[data-v-e1ea9828]{display:flex;flex-wrap:wrap;gap:6px}.tag[data-v-e1ea9828]{padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:500;background:var(--bg-tag);color:var(--accent-blue-dim);border:1px solid var(--border-tag)}.ext-ref[data-v-e1ea9828]{margin-bottom:4px}.ext-ref a[data-v-e1ea9828]{color:var(--accent-blue);font-size:.85rem;text-decoration:none;transition:color .15s}.ext-ref a[data-v-e1ea9828]:hover{color:var(--accent-blue-dim);text-decoration:underline}.ext-ref span[data-v-e1ea9828]{color:var(--text-secondary);font-size:.85rem}.props-table[data-v-e1ea9828]{width:100%;border-collapse:collapse}.props-table tr[data-v-e1ea9828]{border-bottom:1px solid var(--border-subtle)}.prop-key[data-v-e1ea9828]{color:var(--text-muted);font-size:.78rem;padding:6px 8px 6px 0;text-transform:capitalize;white-space:nowrap;vertical-align:top;width:35%}.prop-val[data-v-e1ea9828]{color:var(--text-body);font-size:.78rem;padding:6px 0;word-break:break-word}.stix-id[data-v-e1ea9828]{display:block;font-size:.72rem;color:var(--text-muted);background:var(--bg-code);padding:8px 10px;border-radius:6px;word-break:break-all;font-family:JetBrains Mono,Fira Code,monospace}.properties-section[data-v-e1ea9828]{max-height:300px;overflow-y:auto}.slide-enter-active[data-v-e1ea9828],.slide-leave-active[data-v-e1ea9828]{transition:transform .3s ease,opacity .3s ease}.slide-enter-from[data-v-e1ea9828],.slide-leave-to[data-v-e1ea9828]{transform:translate(100%);opacity:0}.detail-panel[data-v-e1ea9828]::-webkit-scrollbar{width:4px}.detail-panel[data-v-e1ea9828]::-webkit-scrollbar-track{background:transparent}.detail-panel[data-v-e1ea9828]::-webkit-scrollbar-thumb{background:#94a3b833;border-radius:2px}.sidebar-container[data-v-c508f633]{position:absolute;top:16px;left:16px;z-index:10;display:flex;flex-direction:column;gap:8px}.legend-bar[data-v-c508f633]{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:12px;padding:10px 14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-height:60vh;overflow-y:auto;transition:all .3s ease}.stats-box[data-v-c508f633]{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:12px;padding:10px 14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s ease}.stats-header[data-v-c508f633]{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.stats-items[data-v-c508f633]{display:flex;flex-direction:column;gap:4px}.stats-row[data-v-c508f633]{display:flex;align-items:center;justify-content:space-between;gap:16px}.stats-label[data-v-c508f633]{font-size:.72rem;color:var(--text-secondary)}.stats-value[data-v-c508f633]{font-size:.72rem;color:var(--text-primary);font-weight:600;font-family:JetBrains Mono,monospace}.stats-file[data-v-c508f633]{font-size:.68rem;color:var(--text-faint);font-family:JetBrains Mono,monospace;background:var(--bg-file);padding:2px 6px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.legend-bar.collapsed[data-v-c508f633]{padding:6px 10px}.legend-toggle[data-v-c508f633]{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-secondary);font-size:.75rem;font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.06em;padding:0;margin-bottom:4px}.legend-toggle[data-v-c508f633]:hover{color:var(--text-primary)}.collapsed .legend-toggle[data-v-c508f633]{margin-bottom:0}.legend-items[data-v-c508f633]{display:flex;flex-direction:column;gap:4px;margin-top:6px}.legend-item[data-v-c508f633]{display:flex;align-items:center;gap:8px}.legend-dot[data-v-c508f633]{width:10px;height:10px;border-radius:3px;flex-shrink:0}.legend-label[data-v-c508f633]{font-size:.72rem;color:var(--text-secondary);white-space:nowrap}.expand-enter-active[data-v-c508f633],.expand-leave-active[data-v-c508f633]{transition:all .25s ease}.expand-enter-from[data-v-c508f633],.expand-leave-to[data-v-c508f633]{opacity:0;max-height:0}.legend-bar[data-v-c508f633]::-webkit-scrollbar{width:3px}.legend-bar[data-v-c508f633]::-webkit-scrollbar-thumb{background:#94a3b833;border-radius:2px}.app-shell[data-v-c90bc549]{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background:var(--bg-deep);transition:background .25s ease,color .25s ease}.top-bar[data-v-c90bc549]{display:flex;align-items:center;height:52px;padding:0 20px;background:var(--bg-overlay);border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:30;flex-shrink:0;gap:16px;transition:background .25s ease,border-color .25s ease}.brand[data-v-c90bc549]{display:flex;align-items:center;gap:10px}.brand-logo[data-v-c90bc549]{height:28px;width:auto;transition:filter .25s ease}.brand-logo[data-v-c90bc549]:not(.logo-dark){filter:invert(1) brightness(.3)}.brand-name[data-v-c90bc549]{font-family:Inter,sans-serif;font-size:1.05rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;transition:color .25s ease}.bar-actions[data-v-c90bc549]{margin-left:auto}.btn-small[data-v-c90bc549]{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s ease;background:#60a5fa1a;color:var(--accent-blue);border:1px solid rgba(96,165,250,.2)}.btn-small[data-v-c90bc549]:hover{background:#60a5fa33;transform:translateY(-1px)}.theme-toggle[data-v-c90bc549]{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-ctrl);border-radius:8px;background:var(--toggle-bg);color:var(--toggle-color);cursor:pointer;transition:all .2s ease;flex-shrink:0}.theme-toggle[data-v-c90bc549]:hover{background:var(--toggle-hover-bg);color:var(--accent-blue);border-color:var(--accent-blue);transform:scale(1.05)}.main-area[data-v-c90bc549]{flex:1;position:relative;overflow:hidden}.promo-banner[data-v-c90bc549]{display:flex;align-items:center;gap:8px;margin-left:12px}.promo-sep[data-v-c90bc549]{color:var(--promo-sep);font-size:.85rem;-webkit-user-select:none;user-select:none}.promo-dot[data-v-c90bc549]{color:var(--promo-dot);font-size:.7rem;-webkit-user-select:none;user-select:none}.promo-link[data-v-c90bc549]{font-size:.72rem;font-weight:500;color:var(--promo-text);text-decoration:none;transition:color .2s ease;white-space:nowrap}.promo-link[data-v-c90bc549]:hover{color:var(--accent-blue);text-decoration:none}.promo-label[data-v-c90bc549]{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--promo-label);margin-right:3px}.icon-attribution[data-v-c90bc549]{position:absolute;bottom:10px;left:12px;display:flex;align-items:center;gap:5px;font-size:.65rem;color:var(--attr-text);z-index:20;pointer-events:auto;-webkit-user-select:none;user-select:none;transition:color .25s ease}.icon-attribution svg[data-v-c90bc549]{opacity:.5;flex-shrink:0}.icon-attribution a[data-v-c90bc549]{color:var(--attr-link);text-decoration:none;transition:color .2s ease}.icon-attribution a[data-v-c90bc549]:hover{color:var(--accent-blue);text-decoration:underline}
