:root{--bg-page-light: #f8fafc;--bg-page-dark: #0b1120;--bg-surface-light: #ffffff;--bg-surface-dark: #111827;--bg-elevated-light: #f1f5f9;--bg-elevated-dark: #1e293b;--text-main-light: #0f172a;--text-main-dark: #f8fafc;--text-muted-light: #475569;--text-muted-dark: #94a3b8;--border-light: #e2e8f0;--border-dark: #1f2937;--accent-light: #0284c7;--accent-dark: #38bdf8;--accent-subtle-light: #e0f2fe;--accent-subtle-dark: #0c4a6e;--scroll-thumb-light: #94a3b8;--scroll-thumb-dark: #475569;--scroll-track-light: #f1f5f9;--scroll-track-dark: #0f172a;--bg-page: var(--bg-page-light);--bg-surface: var(--bg-surface-light);--bg-elevated: var(--bg-elevated-light);--text-main: var(--text-main-light);--text-muted: var(--text-muted-light);--border-color: var(--border-light);--accent-color: var(--accent-light);--accent-subtle: var(--accent-subtle-light);--scrollbar-thumb: var(--scroll-thumb-light);--scrollbar-track: var(--scroll-track-light);@media(prefers-color-scheme:dark){--bg-page: var(--bg-page-dark);--bg-surface: var(--bg-surface-dark);--bg-elevated: var(--bg-elevated-dark);--text-main: var(--text-main-dark);--text-muted: var(--text-muted-dark);--border-color: var(--border-dark);--accent-color: var(--accent-dark);--accent-subtle: var(--accent-subtle-dark);--scrollbar-thumb: var(--scroll-thumb-dark);--scrollbar-track: var(--scroll-track-dark)}@supports (color: light-dark(white,black)){--bg-page: light-dark(var(--bg-page-light), var(--bg-page-dark));--bg-surface: light-dark(var(--bg-surface-light), var(--bg-surface-dark));--bg-elevated: light-dark(var(--bg-elevated-light), var(--bg-elevated-dark));--text-main: light-dark(var(--text-main-light), var(--text-main-dark));--text-muted: light-dark(var(--text-muted-light), var(--text-muted-dark));--border-color: light-dark(var(--border-light), var(--border-dark));--accent-color: light-dark(var(--accent-light), var(--accent-dark));--accent-subtle: light-dark(var(--accent-subtle-light), var(--accent-subtle-dark));--scrollbar-thumb: light-dark(var(--scroll-thumb-light), var(--scroll-thumb-dark));--scrollbar-track: light-dark(var(--scroll-track-light), var(--scroll-track-dark))}color-scheme:light dark;accent-color:var(--accent-color);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@supports not (scrollbar-color: auto){::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:5px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-block-size:100dvh;background-color:var(--bg-page);color:var(--text-main);display:flex;flex-direction:column}.app-header{display:flex;flex-wrap:wrap;align-items:safe center;justify-content:space-between;gap:1rem;padding-block:.75rem;padding-inline:1.25rem;background-color:var(--bg-surface);border-block-end:1px solid var(--border-color)}.brand-group{display:flex;align-items:safe center;gap:.85rem}.brand-title{margin:0;font-size:clamp(1.2rem,2vw,1.5rem);font-weight:700;letter-spacing:-.02em}.brand-subtitle{margin:0;font-size:.82rem;color:var(--text-muted)}.brand-subtitle a{color:var(--accent-color);text-decoration:none;font-weight:500}.brand-subtitle a:hover{text-decoration:underline}.header-actions{display:flex;align-items:safe center;gap:.75rem;margin-inline-start:auto}.dhlab-logo{display:block;block-size:32px;inline-size:auto}@media(prefers-color-scheme:dark){.dhlab-logo{filter:invert(1) brightness(1.1)}}.about-card{font-size:.87rem;line-height:1.58}.about-card-top{display:flex;align-items:safe center;justify-content:space-between;gap:.5rem;margin-block-end:.65rem}.about-card-heading{margin:0;font-size:.98rem;font-weight:700;color:var(--text-main)}.simple-clusters-header{display:flex;align-items:safe center;justify-content:space-between;gap:.5rem;margin-block-end:.75rem;padding:.55rem .75rem;border-radius:.5rem;background-color:var(--bg-elevated);border:1px solid var(--border-color);font-size:.8rem}.simple-clusters-header strong{display:block;font-size:.88rem;color:var(--text-main)}.simple-clusters-header span{color:var(--text-muted)}.btn[aria-pressed=true],.btn.active-header-btn{border-color:var(--accent-color);color:var(--accent-color);background-color:var(--accent-subtle)}.about-card p{margin-block:.55rem}.about-examples-list{margin-block:.65rem;padding-inline-start:1.2rem;display:flex;flex-direction:column;gap:.55rem}.about-card-tip{margin-block-start:.8rem;padding:.55rem .7rem;border-radius:.45rem;background-color:var(--bg-surface);border:1px solid var(--border-color);font-size:.81rem;color:var(--text-muted)}.example-word-chip{display:inline-flex;align-items:safe center;padding:.08rem .48rem;margin-inline:.1rem;border-radius:.35rem;border:1px solid var(--accent-color);background-color:var(--accent-subtle);color:var(--accent-color);font-size:.82rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background-color .12s ease,color .12s ease}.example-word-chip:hover{background-color:var(--accent-color);color:#fff}.search-bar{display:grid;grid-template-columns:minmax(220px,2.2fr) minmax(140px,1fr) minmax(150px,1fr) auto;gap:.85rem;align-items:end;padding-block:.85rem;padding-inline:1.25rem;background-color:var(--bg-surface);border-block-end:1px solid var(--border-color)}@media(max-width:820px){.search-bar{grid-template-columns:1fr 1fr}.field-words{grid-column:span 2}}.field-group{display:flex;flex-direction:column;gap:.3rem;min-inline-size:0}.field-group label{font-size:.78rem;font-weight:600;color:var(--text-muted);display:flex;justify-content:space-between;align-items:center}.input-control,.select-control{inline-size:100%;padding-block:.5rem;padding-inline:.75rem;font-size:.92rem;border-radius:.5rem;border:1px solid var(--border-color);background-color:var(--bg-elevated);color:var(--text-main);transition:border-color .15s ease}.input-control:focus,.select-control:focus{outline:2px solid var(--accent-color);outline-offset:1px;border-color:transparent}.btn{display:inline-flex;align-items:safe center;justify-content:center;gap:.4rem;padding-block:.52rem;padding-inline:1rem;font-size:.9rem;font-weight:600;border-radius:.5rem;border:1px solid var(--border-color);background-color:var(--bg-elevated);color:var(--text-main);cursor:pointer;white-space:nowrap;transition:background-color .15s ease,transform .1s ease}.btn:hover{background-color:var(--border-color)}.btn:active{transform:translateY(1px)}.btn-primary{background-color:var(--accent-color);color:#fff;border-color:transparent}@media(prefers-color-scheme:dark){.btn-primary{color:#082f49}}.btn-primary:hover{filter:brightness(1.08);background-color:var(--accent-color)}.btn-sm{padding-block:.3rem;padding-inline:.6rem;font-size:.78rem}.workspace{flex:1 1 auto;display:grid;grid-template-columns:168px minmax(310px,.95fr) minmax(0,1.55fr);min-block-size:0}.workspace.is-simple-mode{grid-template-columns:minmax(310px,.85fr) minmax(0,1.55fr)}.workspace.is-simple-mode .tab-nav,.workspace.is-simple-mode .behind-scenes-only,.workspace.is-simple-mode .overlap-submeta,.workspace.is-simple-mode .pill-badge{display:none!important}.workspace.is-simple-mode .word-pill-added{border-style:solid;border-color:var(--border-color);background-color:var(--bg-surface)}.workspace.is-simple-mode .word-pill-bridge{font-weight:500}.workspace:not(.is-simple-mode) .simple-clusters-header,.workspace:not(.is-simple-mode) #close-about-simple-btn{display:none!important}@media(max-width:1024px){.workspace{grid-template-columns:1fr;grid-template-rows:auto auto minmax(440px,58dvh)}.workspace.is-simple-mode{grid-template-columns:1fr;grid-template-rows:auto minmax(440px,58dvh)}}.graph-stage{position:relative;display:flex;flex-direction:column;min-block-size:460px;background-color:var(--bg-page)}#galaxy-canvas{display:block;inline-size:100%;block-size:100%;flex:1 1 auto;touch-action:none}.graph-toolbar{position:absolute;inset-block-start:.85rem;inset-inline-start:.85rem;display:flex;flex-wrap:wrap;align-items:safe center;gap:.45rem;padding:.45rem .65rem;border-radius:.65rem;background-color:color-mix(in srgb,var(--bg-surface) 88%,transparent);backdrop-filter:blur(8px);border:1px solid var(--border-color);box-shadow:0 4px 14px #00000014}.toolbar-item{display:inline-flex;align-items:safe center;gap:.35rem;font-size:.76rem;color:var(--text-muted)}.toolbar-item input[type=range]{inline-size:68px}.node-inspector{position:absolute;inset-block-end:.85rem;inset-inline-start:.85rem;max-inline-size:340px;padding:.85rem 1rem;border-radius:.75rem;background-color:color-mix(in srgb,var(--bg-surface) 94%,transparent);backdrop-filter:blur(10px);border:1px solid var(--border-color);box-shadow:0 8px 24px #00000024}.node-inspector[hidden]{display:none}.inspector-header{display:flex;align-items:safe center;justify-content:space-between;gap:.5rem;margin-block-end:.45rem}.inspector-word{font-size:1.08rem;font-weight:700;display:flex;align-items:safe center;gap:.45rem}.color-dot{display:inline-block;inline-size:11px;block-size:11px;border-radius:50%;flex-shrink:0}.inspector-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin-block:.55rem;font-size:.75rem}.metric-box{padding:.35rem .45rem;border-radius:.4rem;background-color:var(--bg-elevated)}.metric-box span{display:block;color:var(--text-muted);font-size:.68rem}.metric-box strong{font-size:.84rem}.inspector-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-block-start:.5rem}.status-badge{position:absolute;inset-block-start:.85rem;inset-inline-end:.85rem;padding:.4rem .75rem;border-radius:999px;font-size:.78rem;font-weight:600;background-color:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-muted);box-shadow:0 2px 8px #00000014}.analysis-panel{display:flex;flex-direction:column;background-color:var(--bg-surface);border-inline-end:1px solid var(--border-color);min-block-size:0;max-block-size:calc(100dvh - 125px)}@media(max-width:1024px){.analysis-panel{max-block-size:none;border-inline-end:none;border-block-end:1px solid var(--border-color)}}.tab-nav{display:flex;flex-direction:column;gap:.25rem;padding:.75rem .55rem;border-inline-end:1px solid var(--border-color);background-color:var(--bg-elevated)}.tab-btn{display:flex;align-items:safe center;justify-content:flex-start;text-align:start;padding-block:.62rem;padding-inline:.75rem;font-size:.84rem;font-weight:600;border:1px solid transparent;border-inline-start:3px solid transparent;border-radius:.45rem;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease}.tab-btn:hover{color:var(--text-main);background-color:color-mix(in srgb,var(--bg-surface) 60%,transparent)}.tab-btn[aria-selected=true]{color:var(--accent-color);border-color:var(--border-color);border-inline-start:3px solid var(--accent-color);background-color:var(--bg-surface);box-shadow:0 1px 3px #0000000d}@media(max-width:1024px){.tab-nav{flex-direction:row;flex-wrap:wrap;border-inline-end:none;border-block-end:1px solid var(--border-color)}.tab-btn{flex:1 1 auto;justify-content:center}}.tab-content{flex:1 1 auto;overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior:contain;padding:1rem 1.15rem}.tab-pane[hidden]{display:none}.group-card{padding:.8rem .95rem;border-radius:.65rem;border:1px solid var(--border-color);background-color:var(--bg-elevated);margin-block-end:.75rem;transition:border-color .15s ease}.group-card:hover,.group-card.active{border-color:var(--accent-color)}.group-header{display:flex;align-items:safe center;justify-content:space-between;gap:.5rem;margin-block-end:.5rem}.group-title{font-weight:700;font-size:.92rem;display:flex;align-items:safe center;gap:.45rem;cursor:pointer}.group-count{font-size:.74rem;color:var(--text-muted);padding:.15rem .45rem;border-radius:999px;background-color:var(--bg-surface)}.word-pill-list{display:flex;flex-wrap:wrap;flex-wrap:balance;gap:.35rem}.word-pill{padding:.22rem .55rem;border-radius:.38rem;font-size:.8rem;background-color:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.word-pill:hover{border-color:var(--accent-color);background-color:var(--accent-subtle)}.word-pill-added{border-style:dashed;border-color:var(--accent-color);background-color:color-mix(in srgb,var(--accent-subtle) 55%,var(--bg-surface))}.word-pill-bridge{font-weight:600}.pill-badge{display:inline-flex;align-items:safe center;justify-content:center;min-inline-size:1.15rem;padding-inline:.28rem;margin-inline-start:.28rem;border-radius:999px;font-size:.68rem;font-weight:700;background-color:var(--accent-subtle);color:var(--accent-color)}.overlap-controls{display:flex;flex-direction:column;gap:.55rem;margin-block-end:.85rem}.overlap-intro{font-size:.81rem;color:var(--text-muted)}.overlap-strategy-bar{display:flex;flex-wrap:wrap;align-items:safe center;justify-content:space-between;gap:.5rem;font-size:.8rem;color:var(--text-muted)}.select-sm{padding-block:.32rem;padding-inline:.55rem;font-size:.8rem}.overlap-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin-block-end:.8rem}.overlap-stat-card{padding:.5rem .6rem;border-radius:.5rem;background-color:var(--bg-elevated);border:1px solid var(--border-color)}.overlap-stat-card span{display:block;font-size:.7rem;color:var(--text-muted)}.overlap-stat-card strong{font-size:.92rem;font-variant-numeric:tabular-nums}.overlap-submeta{font-size:.74rem;color:var(--text-muted);margin-block-end:.5rem;display:flex;flex-wrap:wrap;gap:.4rem;align-items:safe center}.meta-tag{padding:.12rem .42rem;border-radius:.32rem;background-color:var(--bg-surface);border:1px solid var(--border-color);font-size:.71rem}.meta-tag-accent{border-color:color-mix(in srgb,var(--accent-color) 45%,var(--border-color));color:var(--accent-color);font-weight:600}.centrality-table{inline-size:100%;border-collapse:collapse;font-size:.83rem}.centrality-table th,.centrality-table td{padding-block:.48rem;padding-inline:.55rem;text-align:start;border-block-end:1px solid var(--border-color)}.centrality-table th{font-weight:600;color:var(--text-muted);cursor:pointer;user-select:none;position:sticky;inset-block-start:0;background-color:var(--bg-surface)}.centrality-table tr:hover{background-color:var(--bg-elevated);cursor:pointer}.bar-cell{position:relative;font-variant-numeric:tabular-nums}.bar-fill{display:inline-block;block-size:6px;border-radius:3px;background-color:var(--accent-color);margin-inline-end:.45rem;vertical-align:middle}.path-form{display:grid;grid-template-columns:1fr 1fr auto;gap:.55rem;align-items:end;margin-block-end:1rem}.path-result-box{padding:.75rem .9rem;border-radius:.6rem;background-color:var(--bg-elevated);border:1px solid var(--border-color);margin-block-end:.75rem}.path-result-box h4{margin:0 0 .45rem;font-size:.84rem;color:var(--text-muted)}.path-chain{display:flex;flex-wrap:wrap;align-items:safe center;gap:.3rem;padding:.4rem .55rem;border-radius:.45rem;background-color:var(--bg-surface);border:1px solid var(--border-color);margin-block-end:.4rem;cursor:pointer;font-size:.84rem}.path-chain:hover{border-color:var(--accent-color)}.path-arrow{color:var(--text-muted);font-size:.75rem}.cliques-toolbar{display:flex;flex-wrap:wrap;align-items:safe center;justify-content:space-between;gap:.5rem;margin-block-end:.75rem}.view-toggle{display:inline-flex;border-radius:.5rem;padding:.15rem;background-color:var(--bg-elevated);border:1px solid var(--border-color);gap:.15rem}.view-toggle-btn{border-color:transparent;background-color:transparent;font-size:.75rem;padding-block:.25rem;padding-inline:.55rem}.view-toggle-btn.active{background-color:var(--bg-surface);border-color:var(--border-color);color:var(--accent-color);box-shadow:0 1px 3px #0000000f}.cliques-tree-stage{margin-block-end:.85rem;padding:.65rem;border-radius:.65rem;background-color:var(--bg-elevated);border:1px solid var(--border-color);overflow-x:auto}.cliques-tree-stage[hidden]{display:none}.clique-tree-svg{display:block;min-inline-size:100%;block-size:auto}.tree-link{fill:none;stroke:var(--border-color);stroke-width:1.75;transition:stroke .15s ease}.tree-link-active{stroke:var(--accent-color);stroke-width:2.25}.tree-node-group{cursor:pointer}.tree-node-rect{fill:var(--bg-surface);stroke:var(--border-color);stroke-width:1.4;transition:stroke .15s ease,fill .15s ease}.tree-node-group:hover .tree-node-rect,.tree-node-group.active .tree-node-rect{stroke:var(--accent-color);stroke-width:2;fill:color-mix(in srgb,var(--accent-subtle) 45%,var(--bg-surface))}.tree-node-title{fill:var(--text-main);font-size:11.5px;font-weight:700}.tree-node-sub{fill:var(--text-muted);font-size:10px}.tree-level-label{fill:var(--text-muted);font-size:10.5px;font-weight:600}.tree-toggle-circle{fill:var(--bg-elevated);stroke:var(--border-color);stroke-width:1.2}.tree-toggle-circle:hover{stroke:var(--accent-color)}.tree-toggle-text{fill:var(--text-main);font-size:10px;font-weight:700;text-anchor:middle;dominant-baseline:central;user-select:none}.clique-tree-branch{margin-block-end:.65rem}.clique-tree-children{margin-inline-start:.85rem;padding-inline-start:.75rem;border-inline-start:2px solid var(--border-color);margin-block-start:.45rem}.clique-tree-children[hidden]{display:none}.clique-card-actions{display:inline-flex;align-items:safe center;gap:.35rem}.clique-expand-btn{padding-block:.15rem;padding-inline:.45rem;font-size:.72rem;border-radius:.35rem;background-color:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer}.clique-expand-btn:hover{border-color:var(--accent-color);color:var(--text-main)}.clique-spread-box{margin-block-end:.55rem;padding:.42rem .55rem;border-radius:.45rem;background-color:var(--bg-surface);border:1px solid var(--border-color)}.clique-spread-header{display:flex;flex-wrap:wrap;align-items:safe center;justify-content:space-between;gap:.4rem;font-size:.72rem;color:var(--text-muted);margin-block-end:.32rem}.cluster-spread-bar{display:flex;inline-size:100%;block-size:6px;border-radius:999px;overflow:hidden;background-color:var(--bg-elevated);margin-block-end:.38rem;gap:1px}.cluster-spread-seg{block-size:100%;min-inline-size:4px}.cluster-spread-tags{display:flex;flex-wrap:wrap;gap:.3rem}.spread-tag{display:inline-flex;align-items:safe center;gap:.28rem;padding:.1rem .4rem;border-radius:.3rem;font-size:.7rem;background-color:var(--bg-elevated);border:1px solid var(--border-color);color:var(--text-main);cursor:pointer}.spread-tag:hover{border-color:var(--accent-color)}
