:root,[data-theme=dark]{color-scheme:dark;--bg: #0f1419;--bg-elevated: #161d26;--bg-panel: #1a2330;--bg-menu: #121820;--bg-topbar: rgba(15, 20, 25, .85);--bg-wash: rgba(15, 20, 25, .35);--bg-panel-soft: rgba(22, 29, 38, .7);--bg-panel-card: rgba(22, 29, 38, .85);--bg-inset: rgba(0, 0, 0, .18);--bg-inset-soft: rgba(0, 0, 0, .15);--border: #2a3647;--border-strong: #3d4f66;--text: #e8eef6;--text-muted: #8b9bb0;--text-on-accent: #041018;--text-on-chip: #0b1220;--accent: #3d9cfd;--accent-soft: rgba(61, 156, 253, .14);--hover-soft: rgba(255, 255, 255, .04);--hover-project: rgba(61, 156, 253, .08);--glow-a: rgba(61, 156, 253, .12);--glow-b: rgba(62, 207, 142, .08);--shadow: 0 12px 30px rgba(0, 0, 0, .35);--success: #3ecf8e;--danger: #f07178;--danger-soft: rgba(240, 113, 120, .12);--folder: #e6c07b;--file: #abb2bf;--map-label: #0b1220;--map-edge-label: #e8eef6;--map-edge-bg: #121820;--radius: 8px;--font-sans: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace}[data-theme=light]{color-scheme:light;--bg: #f4f7fb;--bg-elevated: #ffffff;--bg-panel: #eef2f7;--bg-menu: #ffffff;--bg-topbar: rgba(255, 255, 255, .88);--bg-wash: rgba(244, 247, 251, .65);--bg-panel-soft: rgba(255, 255, 255, .82);--bg-panel-card: #ffffff;--bg-inset: rgba(15, 30, 50, .05);--bg-inset-soft: rgba(15, 30, 50, .04);--border: #d5dee8;--border-strong: #b7c4d4;--text: #152033;--text-muted: #5c6b7e;--text-on-accent: #041018;--text-on-chip: #0b1220;--accent: #1f78e2;--accent-soft: rgba(31, 120, 226, .12);--hover-soft: rgba(15, 30, 50, .04);--hover-project: rgba(31, 120, 226, .08);--glow-a: rgba(31, 120, 226, .1);--glow-b: rgba(32, 160, 110, .08);--shadow: 0 12px 28px rgba(21, 32, 51, .12);--success: #1f9d66;--danger: #d6454f;--danger-soft: rgba(214, 69, 79, .1);--folder: #b8892d;--file: #667788;--map-label: #0b1220;--map-edge-label: #152033;--map-edge-bg: #ffffff}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);background:radial-gradient(1200px 600px at 10% -10%,var(--glow-a),transparent 55%),radial-gradient(900px 500px at 90% 0%,var(--glow-b),transparent 50%),var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background-color .2s ease,color .2s ease}button,input{font:inherit}.app{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0}.legal-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.35rem 1rem;border-top:1px solid var(--border);background:var(--bg-topbar);color:var(--text-muted);font-size:.72rem}.legal-footer-links{display:flex;gap:.35rem}.legal-footer button{border:0;background:transparent;color:var(--text-muted);font:inherit;cursor:pointer;padding:.15rem .4rem;border-radius:999px}.legal-footer button:hover{color:var(--text);background:var(--hover-soft)}.legal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:1.25rem;background:color-mix(in srgb,#000 45%,transparent)}.legal-dialog{width:min(40rem,100%);max-height:min(36rem,calc(100vh - 2.5rem));display:flex;flex-direction:column;border:1px solid var(--border);border-radius:14px;background:var(--bg-elevated);box-shadow:var(--shadow)}.legal-dialog-head{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1rem .75rem;border-bottom:1px solid var(--border)}.legal-dialog-head h2{margin:.1rem 0;font-size:1.15rem}.legal-kicker,.legal-lead{margin:0;color:var(--text-muted);font-size:.75rem}.legal-close{flex:0 0 auto;align-self:flex-start;border:1px solid var(--border);background:var(--bg-panel);color:var(--text);border-radius:999px;padding:.3rem .7rem;font:inherit;font-size:.75rem;cursor:pointer}.legal-dialog-body{overflow:auto;padding:.35rem 1rem 1rem}.legal-dialog-body h3{margin:.9rem 0 .3rem;font-size:.92rem}.legal-dialog-body p{margin:.25rem 0 0;color:var(--text);font-size:.84rem;line-height:1.5}.topbar{display:flex;align-items:center;gap:1.25rem;padding:.85rem 1.25rem;border-bottom:1px solid var(--border);background:var(--bg-topbar);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.theme-toggle{flex-shrink:0;display:inline-grid;place-items:center;width:2.15rem;height:2.15rem;padding:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);color:var(--text-muted);cursor:pointer}.theme-toggle:hover{color:var(--text);border-color:var(--border-strong);background:var(--accent-soft)}.theme-toggle svg{display:block}.brand{display:flex;flex-direction:column;gap:.05rem;min-width:12.5rem;line-height:1.15}.brand-maker{color:var(--text-muted);font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.brand-name{font-weight:600;letter-spacing:.02em;font-size:1.12rem;color:var(--text)}.brand-slogan{color:var(--accent);font-size:.72rem;font-weight:500;letter-spacing:.01em}.demo-flag{align-self:flex-start;margin-top:.28rem;padding:.12rem .45rem;border:1px solid var(--border-strong);border-radius:999px;color:var(--text-muted);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}.demo-note{flex:1;margin:0;color:var(--text-muted);font-size:.82rem}.path-input{position:relative;flex:1;max-width:52rem;min-width:0}.open-form{display:flex;gap:.6rem;width:100%}.path-suggestions{position:absolute;top:calc(100% + .3rem);left:0;right:0;z-index:40;margin:0;padding:.3rem;list-style:none;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-menu);box-shadow:var(--shadow);max-height:16rem;overflow:auto}.path-suggestions button{width:100%;text-align:left;border:none;border-radius:6px;background:transparent;color:var(--text);padding:.45rem .6rem;font-family:var(--font-mono);font-size:.8rem;cursor:pointer}.path-suggestions button:hover,.path-suggestions button.active{background:var(--accent-soft);color:var(--accent)}.path-suggestions-hint{padding:.35rem .6rem .2rem;color:var(--text-muted);font-size:.68rem}.open-form input{flex:1;min-width:0;padding:.55rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);color:var(--text);font-family:var(--font-mono);font-size:.85rem}.open-form input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.open-form button{padding:.55rem 1rem;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:var(--text-on-accent);font-weight:600;cursor:pointer}.open-form button:disabled{opacity:.55;cursor:not-allowed}.status{margin-left:auto;color:var(--text-muted);font-size:.8rem;white-space:nowrap}.status.error{color:var(--danger)}.workspace{display:grid;grid-template-columns:minmax(180px,22%) minmax(0,1fr) minmax(260px,30%);min-height:0;height:100%}.panel{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--bg-panel-soft);overflow:hidden}.panel:last-child{border-right:none;border-left:1px solid var(--border)}.panel-header{padding:.7rem .9rem .55rem;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.panel-header-split{border-top:1px solid var(--border);padding-top:.75rem}.panel-left{display:flex;flex-direction:column}.panel-body{flex:1;min-width:0;min-height:0;overflow:auto;overflow-x:hidden;padding:.5rem}.explorer-body{padding:.15rem .4rem .75rem}.project-switcher-wrap{padding:0 .65rem .75rem;position:relative;z-index:5}.project-switcher{position:relative}.project-switcher.empty{padding:.55rem .7rem;border:1px dashed var(--border);border-radius:8px}.project-switcher-empty{color:var(--text-muted);font-size:.8rem}.project-switcher-trigger{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:.55rem;align-items:center;padding:.55rem .65rem;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg-elevated, var(--bg-panel));color:var(--text);cursor:pointer;text-align:left}.project-switcher-trigger:hover:not(:disabled){border-color:var(--accent)}.project-switcher-trigger:disabled{opacity:.7;cursor:wait}.project-switcher-mark{width:.55rem;height:.55rem;border-radius:999px;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.project-switcher-text{min-width:0;display:grid;gap:.1rem}.project-switcher-name{font-weight:600;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-switcher-meta{color:var(--text-muted);font-size:.68rem;font-family:var(--font-mono)}.project-switcher-chevron{color:var(--text-muted);font-size:.7rem}.project-switcher-menu{position:absolute;top:calc(100% + .35rem);left:0;right:0;z-index:20;margin:0;padding:.3rem;list-style:none;border:1px solid var(--border);border-radius:10px;background:var(--bg-menu, var(--bg-panel));box-shadow:var(--shadow);max-height:16rem;overflow:auto;display:grid;gap:.2rem}.project-switcher-menu li{display:grid;grid-template-columns:1fr auto;gap:.25rem;align-items:stretch;border-radius:7px}.project-switcher-menu li.active{background:var(--accent-soft)}.project-switcher-option{min-width:0;border:none;background:transparent;color:var(--text);text-align:left;padding:.45rem .5rem;cursor:pointer;border-radius:7px}.project-switcher-option:hover:not(:disabled){background:var(--hover-soft)}.project-switcher-option-name{display:block;font-weight:600;font-size:.82rem}.project-switcher-option-path{display:block;margin-top:.1rem;color:var(--text-muted);font-size:.66rem;font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-switcher-delete{align-self:center;margin-right:.3rem;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-muted);font-size:.65rem;font-weight:600;padding:.25rem .4rem;cursor:pointer}.project-switcher-delete:hover:not(:disabled){color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.explorer{display:grid;gap:.35rem}.explorer-empty{padding:.85rem .65rem;color:var(--text-muted);font-size:.82rem;line-height:1.45}.explorer-root{width:100%;display:flex;align-items:center;gap:.55rem;padding:.55rem .6rem;border:1px solid var(--border);border-radius:9px;background:linear-gradient(135deg,var(--accent-soft),transparent 55%),var(--bg-elevated, var(--bg-panel));color:var(--text);cursor:pointer;text-align:left}.explorer-root:hover,.explorer-root.selected{border-color:var(--accent)}.explorer-root-text{min-width:0;display:grid;gap:.05rem}.explorer-root-name{font-weight:650;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.explorer-root-hint{color:var(--text-muted);font-size:.66rem;letter-spacing:.04em;text-transform:uppercase}.explorer-tree,.explorer-children{list-style:none;margin:0;padding:0}.explorer-children{position:relative;margin-left:.85rem;padding-left:.35rem;border-left:1px solid var(--border)}.explorer-row{display:flex;align-items:center;gap:.4rem;width:100%;min-width:0;padding:.28rem .45rem;border:none;border-radius:6px;background:transparent;color:var(--text);text-align:left;cursor:pointer;font-size:.82rem}.explorer-row:hover{background:var(--hover-soft)}.explorer-row.selected{background:var(--accent-soft);color:var(--accent)}.explorer-chevron{width:.75rem;flex:0 0 auto;color:var(--text-muted);font-size:.65rem;font-family:var(--font-mono)}.explorer-chevron.ghost{visibility:hidden}.explorer-badge{width:.55rem;height:.55rem;border-radius:2px;flex:0 0 auto;background:var(--file)}.explorer-badge.kind-folder{background:var(--folder);border-radius:2px 2px 1px 1px}.explorer-badge.kind-tsx,.explorer-badge.kind-ts{background:#4a6fa5}.explorer-badge.kind-js{background:#b8953d}.explorer-badge.kind-css{background:#9b6fb8}.explorer-badge.kind-json{background:#2f9e6b}.explorer-badge.kind-md{background:#7a8799}.explorer-badge.kind-component{background:#2f7cf6;border-radius:999px}.explorer-badge.kind-class{background:#0f9f8a}.explorer-badge.kind-interface{background:#a855f7}.explorer-badge.kind-fn{background:#3ecf8e}.explorer-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.explorer-status{padding:.35rem .6rem;color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono)}.center{display:grid;grid-template-rows:auto 1fr;min-height:0;background:var(--bg-wash)}.center-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1rem;border-bottom:1px solid var(--border)}.center-toolbar-title{min-width:0}.project-search{position:relative;flex:1 1 18rem;max-width:28rem}.project-search input{width:100%;border:1px solid var(--border);border-radius:999px;background:var(--bg-elevated);color:var(--text);padding:.45rem .9rem}.project-search input:focus{outline:2px solid var(--accent);outline-offset:1px}.project-search-list{position:absolute;z-index:30;top:calc(100% + .35rem);left:0;right:0;margin:0;padding:.3rem;list-style:none;border:1px solid var(--border);border-radius:12px;background:var(--bg-menu);box-shadow:var(--shadow);max-height:18rem;overflow:auto}.project-search-list button{width:100%;display:grid;gap:.1rem;text-align:left;border:0;border-radius:8px;background:transparent;color:var(--text);padding:.45rem .55rem;cursor:pointer}.project-search-list button.active,.project-search-list button:hover{background:var(--accent-soft)}.project-search-name{font-weight:650;font-size:.86rem}.project-search-meta,.project-search-empty{color:var(--text-muted);font-size:.7rem;font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-search-empty{padding:.5rem .6rem}.map-filters{display:flex;flex-wrap:wrap;gap:.35rem;padding:.45rem .85rem;border-bottom:1px solid var(--border);background:var(--bg-elevated)}.map-filters button{border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-muted);padding:.22rem .65rem;font-size:.72rem;cursor:pointer}.map-filters button.active{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.arch-stack{list-style:none;margin:0;padding:0;display:grid;justify-items:start;gap:.15rem}.arch-stack-arrow{display:block;color:var(--accent);font-weight:700;padding-left:1.1rem}.arch-stack-card{min-width:14rem;display:flex;justify-content:space-between;gap:1rem;padding:.65rem .85rem;border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated)}.arch-stack-card span{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono)}.detail-member-list{margin:0;padding-left:1rem;display:grid;gap:.15rem}.center-toolbar h2{margin:0;font-size:1rem;font-weight:600}.center-toolbar .hint{color:var(--text-muted);font-size:.8rem}.graph-placeholder{margin:1rem;border:1px dashed var(--border-strong);border-radius:12px;display:grid;place-items:center;text-align:center;color:var(--text-muted);background:linear-gradient(180deg,rgba(61,156,253,.05),transparent 40%),var(--bg-panel);min-height:280px}.graph-placeholder strong{display:block;color:var(--text);margin-bottom:.35rem;font-size:1rem}.graph-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-height:0;height:100%}.graph-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem 1rem;border-bottom:1px solid var(--border)}.graph-modes{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-elevated)}.graph-modes button{border:none;background:transparent;color:var(--text-muted);padding:.4rem .75rem;cursor:pointer;font-size:.78rem;font-weight:500}.graph-modes button+button{border-left:1px solid var(--border)}.graph-modes button:hover{color:var(--text);background:var(--hover-soft)}.graph-modes button.active{color:var(--text);background:var(--accent-soft)}.graph-toolbar-meta{display:flex;align-items:center;gap:.55rem;min-width:0}.graph-count{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view-info{position:relative;flex-shrink:0}.view-info-btn{width:1.35rem;height:1.35rem;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text-muted);font-family:var(--font-mono);font-size:.72rem;font-weight:700;font-style:italic;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.view-info-btn:hover,.view-info-btn.open{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.view-info-popover{position:absolute;top:calc(100% + .45rem);right:0;z-index:40;width:min(22rem,72vw);padding:.7rem .8rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-menu, var(--bg-panel));box-shadow:var(--shadow);display:grid;gap:.35rem}.view-info-popover strong{font-size:.82rem}.view-info-popover p{margin:0;color:var(--text-muted);font-size:.8rem;line-height:1.45}.graph-legend{display:flex;flex-wrap:wrap;gap:.65rem .9rem;align-items:center;padding:.5rem 1rem;border-bottom:1px solid var(--border);color:var(--text-muted);font-size:.72rem}.graph-legend .legend-title{color:var(--text);font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:.65rem;margin-right:.15rem}.graph-legend .legend-sep{width:1px;height:.9rem;background:var(--border-strong)}.graph-legend .swatch{display:inline-block;width:.75rem;height:.75rem;margin-right:.35rem;border-radius:3px;vertical-align:-.12rem;border:1px solid rgba(255,255,255,.2)}.graph-legend .swatch.line{width:.95rem;height:.22rem;border-radius:1px;vertical-align:.15rem;border:none}.graph-legend .swatch.folder{background:#e8a317}.graph-legend .swatch.file{background:#5a6b7d}.graph-legend .swatch.component{background:#2f7cf6}.graph-legend .swatch.class{background:#0f9f8a}.graph-legend .swatch.interface{background:#a855f7}.graph-legend .swatch.layer{background:#c45c26}.graph-legend .swatch.other{background:#8b9bb0}.graph-legend .swatch.depends{background:#5b8cce}.graph-legend .swatch.imports{background:repeating-linear-gradient(90deg,#7a8fa8 0 3px,transparent 3px 5px);height:.22rem}.graph-legend .swatch.extends{background:#c792ea}.graph-legend .swatch.implements{background:#e5c07b}.graph-legend .swatch.contains{background:repeating-linear-gradient(90deg,#8b9bb0 0 2px,transparent 2px 4px);height:.22rem}.graph-legend .edge-hint{margin-left:auto;font-family:var(--font-mono);opacity:.75;max-width:22rem;text-align:right}.graph-canvas{min-height:0;height:100%;width:100%;background:var(--bg-panel)}.workspace-canvas{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);min-height:0;height:100%}.overview-banner{position:absolute;top:.75rem;left:.75rem;right:.75rem;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0;padding:.45rem .75rem;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--bg-elevated) 92%,transparent);color:var(--text-muted);font-size:.75rem;line-height:1.4;pointer-events:auto;box-shadow:0 8px 24px color-mix(in srgb,#000 16%,transparent)}.banner-action{flex:0 0 auto;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:999px;padding:.2rem .7rem;font:inherit;font-size:.72rem;cursor:pointer}.banner-action:hover{border-color:var(--accent);color:var(--accent)}.map-shell{position:relative;flex:1 1 auto;height:100%;min-height:0;overflow:hidden}.map-pending{position:absolute;top:auto;bottom:.75rem;right:.75rem;z-index:2;padding:.35rem .65rem;border-radius:999px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono);box-shadow:0 4px 16px color-mix(in srgb,#000 12%,transparent)}.workspace-canvas-body{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;position:relative}.workspace-canvas-body>.briefing,.workspace-canvas-body>.graph-placeholder,.workspace-canvas-body>.impact-panel{flex:1 1 auto;min-height:0}.map-shell>.graph-placeholder{height:100%;min-height:0;margin:0}.map-canvas{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--bg-panel);background-image:radial-gradient(circle at 50% 0%,var(--glow-a),transparent 42%),linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:auto,64px 64px,64px 64px;background-position:center,0 0,0 0;background-attachment:local;opacity:1}.map-canvas:before{content:none}.impact-map-full,.impact-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-height:0;height:100%;background:var(--bg-panel);overflow:auto}.impact-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;padding:.85rem 1rem 1rem;align-content:start}@media(max-width:900px){.impact-lists{grid-template-columns:1fr}}.impact-list-card{border:1px solid var(--border);border-radius:12px;background:var(--bg-panel-card);padding:.85rem;min-height:12rem}.impact-list-card header{margin-bottom:.75rem;padding-bottom:.65rem;border-bottom:1px solid var(--border)}.impact-list-card header h3{margin:0;font-size:.95rem}.impact-list-card header span{display:block;margin-top:.25rem;color:var(--text-muted);font-size:.75rem;line-height:1.35}.impact-list-card ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.impact-list-card button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.75rem;text-align:left;border:1px solid var(--border);border-radius:8px;background:var(--bg-inset-soft);color:var(--text);padding:.55rem .7rem;cursor:pointer}.impact-list-card button:hover{border-color:var(--border-strong);background:var(--accent-soft)}.impact-list-card button.active{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}.impact-list-name{font-weight:600;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.impact-list-kind{color:var(--text-muted);font-size:.68rem;font-family:var(--font-mono);flex-shrink:0}.impact-list-empty{margin:0;color:var(--text-muted);font-size:.8rem}.impact-banner{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;flex-wrap:wrap;padding:.55rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-elevated);font-size:.82rem}.impact-banner-text{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1 1 14rem}.impact-banner strong{font-weight:600}.impact-banner-meta{color:var(--text-muted);font-family:var(--font-mono);font-size:.72rem}.impact-recenter{border:1px solid var(--border);background:var(--bg-panel);color:var(--text);border-radius:6px;padding:.35rem .65rem;font-size:.75rem;cursor:pointer;white-space:nowrap}.impact-recenter:hover{border-color:var(--accent)}.impact-explain{margin:.5rem 0 .75rem;color:var(--text-muted);line-height:1.45;max-width:36rem}.impact-explain em{font-style:normal;color:var(--text)}.impact-empty{padding:1.5rem 1.25rem;max-width:36rem;line-height:1.5}.impact-empty p{margin:0 0 .75rem}.impact-empty-hint{color:var(--text-muted);font-size:.88rem}.impact-error{padding:.4rem 1rem;color:var(--danger, #c44);font-size:.8rem;border-bottom:1px solid var(--border)}.impact-map-body{min-height:0;position:relative}.briefing{height:100%;overflow:auto;padding:1.1rem 1.25rem 1.6rem;display:grid;gap:1.2rem;align-content:start;background:radial-gradient(ellipse 80% 40% at 0% 0%,var(--glow-a),transparent 55%),var(--bg-panel)}.briefing-split.deps-first{grid-template-columns:1fr;max-width:36rem}.impact-entry-card{max-width:40rem;padding:1rem 1.1rem;border-radius:14px;border:1px solid var(--border);background:var(--bg-elevated);display:grid;gap:.45rem}.impact-entry-badge{margin:0;width:fit-content;padding:.2rem .55rem;border-radius:999px;background:var(--accent-soft);color:var(--text-muted);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.impact-entry-card h3{margin:0;font-size:1.05rem}.impact-entry-card p{margin:0;color:var(--text-muted);font-size:.88rem;line-height:1.45}.impact-entry-hints{margin:.25rem 0 0;padding-left:1.1rem;color:var(--text);font-size:.82rem;line-height:1.45}.arch-decoupled{margin-top:.35rem;padding:.75rem .9rem;border-radius:12px;border:1px solid var(--border);background:var(--bg-elevated);max-width:44rem}.arch-decoupled strong{display:block;font-size:.82rem;margin-bottom:.25rem}.arch-decoupled p{margin:0;color:var(--text-muted);font-size:.84rem;line-height:1.45}.arch-module-wrap{display:contents}.arch-module-gap{display:none}.briefing-head{display:grid;gap:.35rem;max-width:46rem}.briefing-kicker{margin:0;color:var(--text-muted);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.briefing-title{margin:0;font-size:1.25rem;font-weight:650;line-height:1.25}.briefing-insight,.briefing-verdict{margin:0;font-size:.95rem;line-height:1.45;color:var(--text)}.briefing-verdict.risk-low{color:var(--text-muted)}.briefing-verdict.risk-medium{color:var(--text)}.briefing-verdict.risk-high{color:var(--danger, #c44);font-weight:600}.briefing-warn{margin:.35rem 0 0;padding:.55rem .7rem;border-radius:8px;border:1px solid color-mix(in srgb,#c9a227 45%,var(--border));background:color-mix(in srgb,#c9a227 12%,transparent);color:var(--text);font-size:.8rem;line-height:1.4;max-width:46rem}.arch-modules{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.55rem}.arch-module{display:grid;gap:.25rem;text-align:left;border:1px solid var(--border);border-radius:12px;background:var(--bg-panel-card);color:var(--text);padding:.8rem .9rem;cursor:pointer;min-height:5.5rem}.arch-module:hover{border-color:var(--border-strong);background:var(--accent-soft)}.arch-module.active{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}.arch-module-name{font-weight:700;font-size:.98rem}.arch-module-stats{color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono)}.arch-module-facets{color:var(--text-muted);font-size:.72rem;line-height:1.35}.arch-facet-bars{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.arch-facet-label{display:flex;justify-content:space-between;font-size:.78rem;margin-bottom:.15rem}.arch-facet-track{height:6px;border-radius:99px;background:var(--bg-inset-soft);overflow:hidden}.arch-facet-fill{height:100%;border-radius:99px;background:var(--accent)}.briefing-section{display:grid;gap:.55rem;max-width:52rem}.briefing-section h3{margin:0;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.briefing-section h4,.briefing-sub{margin:.35rem 0 0;font-size:.78rem;color:var(--text-muted);font-weight:600}.briefing-hint,.briefing-muted{margin:0;color:var(--text-muted);font-size:.8rem;line-height:1.4}.briefing-table{width:100%;border-collapse:collapse;font-size:.88rem}.briefing-table th{text-align:left;color:var(--text-muted);font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:.35rem .5rem;border-bottom:1px solid var(--border)}.briefing-table td{padding:.45rem .5rem;border-bottom:1px solid var(--border);vertical-align:middle}.briefing-arrow{color:var(--accent);font-weight:700;width:1.5rem}.briefing-inline{border:0;background:transparent;color:var(--text);font:inherit;font-weight:600;padding:0;cursor:pointer;text-align:left}.briefing-inline:hover{color:var(--accent);text-decoration:underline}.briefing-strength{font-family:var(--font-mono);font-size:.78rem;padding:.12rem .4rem;border-radius:4px;background:var(--bg-inset-soft)}.briefing-strength.high{background:color-mix(in srgb,var(--danger, #c44) 18%,transparent)}.briefing-strength.mid{background:var(--accent-soft)}.briefing-layers{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.briefing-layer{width:100%;display:grid;gap:.15rem;text-align:left;border:1px solid var(--border);border-radius:10px;background:var(--bg-panel-card);color:var(--text);padding:.7rem .85rem;cursor:pointer}.briefing-layer:hover{border-color:var(--border-strong);background:var(--accent-soft)}.briefing-layer.active{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}.briefing-layer-name{font-weight:650;font-size:.95rem}.briefing-layer-meta{color:var(--text-muted);font-size:.75rem;line-height:1.35}.briefing-focus{padding:.85rem;border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated)}.briefing-focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}@media(max-width:800px){.briefing-focus-grid,.briefing-split{grid-template-columns:1fr}}.briefing-simple-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.briefing-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.impact-rows{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.impact-rows button{width:100%;display:grid;gap:.2rem;text-align:left;border:1px solid var(--border);border-radius:8px;background:var(--bg-inset-soft);color:var(--text);padding:.55rem .7rem;cursor:pointer}.impact-rows button:hover{border-color:var(--border-strong);background:var(--accent-soft)}.impact-rows button.active{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}.impact-row-main{display:grid;gap:.1rem;min-width:0}.impact-row-name{font-weight:650;font-size:.88rem}.impact-row-path{color:var(--text-muted);font-size:.7rem;font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.impact-row-meta{color:var(--text-muted);font-size:.68rem;font-family:var(--font-mono)}.arch-board{height:100%;overflow:auto;padding:1rem;display:grid;gap:1rem;align-content:start;background:linear-gradient(180deg,var(--glow-a),transparent 40%),var(--bg-panel)}.arch-board-intro p{margin:0;max-width:42rem;color:var(--text-muted);font-size:.88rem;line-height:1.45}.arch-board-intro strong{color:var(--text)}.arch-board-lane.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.arch-board-lane-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.65rem}.arch-board-link{border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-muted);padding:.28rem .7rem;font-size:.72rem;cursor:pointer}.arch-board-link:hover{color:var(--text);border-color:var(--border-strong);background:var(--accent-soft)}.arch-board-flow{display:flex;flex-wrap:wrap;gap:.45rem}.arch-board-flow-item{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--text-muted);font-size:.78rem;font-family:var(--font-mono)}.arch-board-arrow{color:var(--accent);font-weight:700}.arch-board-lanes{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem}.arch-board-lane{border:1px solid var(--border);border-radius:12px;background:var(--bg-panel-card);padding:.85rem;min-height:12rem}.arch-board-lane-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.85rem;padding-bottom:.65rem;border-bottom:1px solid var(--border)}.arch-board-kicker{margin:0;color:#c9a227;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.arch-board-lane-head h3{margin:.2rem 0 0;font-size:1rem}.arch-board-count{color:var(--text-muted);font-size:.7rem;font-family:var(--font-mono);white-space:nowrap}.arch-board-lane-body{display:grid;gap:.45rem}.arch-board-card{display:grid;gap:.15rem;width:100%;text-align:left;border:1px solid var(--border);border-radius:8px;background:var(--bg-inset-soft);color:var(--text);padding:.55rem .65rem;cursor:pointer}.arch-board-card:hover{border-color:var(--border-strong);background:var(--accent-soft)}.arch-board-card.active{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}.arch-board-card-type{color:var(--text-muted);font-size:.65rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.arch-board-card.type-component .arch-board-card-type{color:#5aa8ff}.arch-board-card.type-class .arch-board-card-type{color:#56b6c2}.arch-board-card.type-interface .arch-board-card-type{color:#c792ea}.arch-board-card-name{font-size:.88rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arch-board-empty,.arch-board-more{margin:0;color:var(--text-muted);font-size:.75rem}.arch-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-height:0;height:100%}.arch-body{min-height:0;overflow:auto;padding:1rem;display:grid;gap:1rem;align-content:start}.arch-layer-deps{border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;background:var(--bg-elevated)}.arch-layer-deps h3,.arch-rel-grid h3,.arch-layer-card header h3{margin:0;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.arch-layer-deps ul{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1rem}.arch-layer-deps li{font-size:.85rem}.arch-arrow{margin:0 .4rem;color:var(--accent)}.arch-layers{display:grid;gap:.85rem}.arch-layer-card{border:1px solid var(--border);border-radius:10px;background:var(--bg-panel);padding:.85rem 1rem}.arch-layer-card header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.7rem;gap:.75rem}.arch-layer-card header span{color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono)}.arch-chips{display:flex;flex-wrap:wrap;gap:.4rem}.arch-chip{border:1px solid transparent;border-radius:999px;padding:.28rem .65rem;font-size:.78rem;font-weight:500;cursor:pointer;color:var(--text-on-chip);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.arch-chip{font:inherit}.arch-chip.chip-component{background:#5aa8ff}.arch-chip.chip-class{background:#56b6c2}.arch-chip.chip-interface{background:#c792ea}.arch-chip.chip-layer{background:#c9a227}.arch-chip.chip-other{background:#8b9bb0}.arch-chip.active{outline:2px solid #fff;outline-offset:1px}.arch-more{color:var(--text-muted);font-size:.75rem;align-self:center;padding:0 .25rem}.arch-selection{gap:1rem}.arch-selected-head{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.arch-selected-meta{color:var(--text-muted);font-size:.8rem;font-family:var(--font-mono)}.arch-rel-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:960px){.arch-rel-grid{grid-template-columns:1fr}}.arch-rel-grid section{border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated);padding:.85rem 1rem;min-height:10rem}.arch-empty{color:var(--text-muted);font-size:.85rem;margin:.75rem 0 0}.arch-rel-list{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.4rem}.arch-rel-list button{width:100%;display:flex;align-items:center;gap:.5rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-inset-soft);color:var(--text);padding:.45rem .55rem;cursor:pointer;text-align:left}.arch-rel-list button:hover{border-color:var(--border-strong);background:var(--accent-soft)}.arch-rel-list .rel-type{color:var(--accent);font-family:var(--font-mono);font-size:.7rem;min-width:4.5rem}.arch-rel-type{margin-left:auto;color:var(--text-muted);font-size:.7rem;font-family:var(--font-mono)}.detail-empty,.empty-state{padding:1rem;color:var(--text-muted);font-size:.9rem;line-height:1.5}.detail-panel{min-width:0;display:grid;gap:.75rem;padding:.35rem .15rem .75rem}.detail-now{margin:0;padding:.7rem .75rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated);display:grid;gap:.28rem}.detail-now-label{color:var(--text-muted);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.detail-now p{margin:0;color:var(--text);font-size:.88rem;line-height:1.45}.detail-synopsis{margin:0;padding:.7rem .75rem;border:1px solid var(--border);border-radius:10px;background:var(--accent-soft);display:grid;gap:.45rem;min-width:0;max-width:100%}.detail-synopsis-label{color:var(--text-muted);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.detail-synopsis-lines{list-style:none;margin:0;padding:0;display:grid;gap:.35rem;min-width:0}.detail-synopsis-lines li{color:var(--text);font-size:.84rem;font-weight:500;line-height:1.4;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.detail-guess{margin-top:.35rem;padding-top:.55rem;border-top:1px dashed var(--border);display:grid;gap:.25rem}.detail-guess-label{color:var(--text-muted);font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.detail-guess p{margin:0;color:var(--text-muted);font-size:.82rem;font-style:italic;line-height:1.4}.detail-list{display:grid;gap:.7rem;min-width:0}.detail-more{color:var(--text-muted);font-size:.75rem}.detail-row{display:grid;gap:.2rem;min-width:0}.detail-row dt{color:var(--text-muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.detail-row dd{margin:0;font-size:.84rem;line-height:1.35;overflow-wrap:anywhere;word-break:break-word;min-width:0}.detail-path{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-all;line-height:1.4}.detail-rel-empty{color:var(--text-muted);font-size:.82rem}.detail-missing{color:var(--text-muted);font-style:italic}.detail-dropdown{border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated, var(--bg-panel));min-width:0}.detail-dropdown summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .65rem;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.detail-dropdown summary::-webkit-details-marker{display:none}.detail-dropdown summary:after{content:"▸";color:var(--text-muted);font-size:.7rem;transition:transform .12s ease}.detail-dropdown[open] summary:after{transform:rotate(90deg)}.detail-dropdown-label{color:var(--text-muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.detail-dropdown-count{margin-left:auto;margin-right:.35rem;font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);background:var(--accent-soft);border-radius:999px;padding:.05rem .45rem}.detail-dropdown-body{padding:0 .65rem .55rem;max-height:14rem;overflow:auto;min-width:0;border-top:1px solid var(--border)}.detail-dropdown:not([open]) .detail-dropdown-body{display:none}.rel-list{list-style:none;margin:.35rem 0 0;padding:0;display:grid;gap:.3rem;min-width:0}.rel-list li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.4rem;align-items:baseline;font-size:.8rem;min-width:0}.rel-list .rel-type{color:var(--accent);font-family:var(--font-mono);font-size:.68rem;white-space:nowrap}.rel-list .rel-name{min-width:0;overflow-wrap:anywhere;word-break:break-word}@media(max-width:1200px){.workspace{grid-template-columns:minmax(160px,200px) minmax(0,1fr) minmax(240px,280px)}}@media(max-width:960px){.workspace{grid-template-columns:1fr;grid-template-rows:minmax(88px,14vh) minmax(520px,1fr) minmax(120px,18vh)}.panel,.panel:last-child{border:none;border-bottom:1px solid var(--border)}.panel:last-child{border-bottom:none}.topbar{flex-wrap:wrap}.status{margin-left:0;width:100%}}
