:root{--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--shadow-soft:0 10px 40px rgba(0, 0, 0, 0.12);--shadow-crisp:0 0 0 1px var(--surface1) inset;--surface-glass-bg:color-mix(in srgb, var(--base) 78%, transparent);--surface-soft-bg:color-mix(in srgb, var(--mantle) 90%, transparent);--surface-soft-strong-bg:color-mix(in srgb, var(--mantle) 94%, transparent)}html[data-theme=latte]{--rosewater:#dc8a78;--flamingo:#dd7878;--pink:#ea76cb;--mauve:#8839ef;--red:#d20f39;--maroon:#e64553;--peach:#fe640b;--yellow:#df8e1d;--green:#40a02b;--teal:#179299;--sky:#04a5e5;--sapphire:#209fb5;--blue:#1e66f5;--lavender:#7287fd;--text:#4c4f69;--subtext1:#5c5f77;--subtext0:#6c6f85;--overlay2:#7c7f93;--overlay1:#8c8fa1;--overlay0:#9ca0b0;--surface2:#acb0be;--surface1:#bcc0cc;--surface0:#ccd0da;--base:#eff1f5;--mantle:#e6e9ef;--crust:#dce0e8}html[data-theme=mocha]{--rosewater:#f5e0dc;--flamingo:#f2cdcd;--pink:#f5c2e7;--mauve:#cba6f7;--red:#f38ba8;--maroon:#eba0ac;--peach:#fab387;--yellow:#f9e2af;--green:#a6e3a1;--teal:#94e2d5;--sky:#89dceb;--sapphire:#74c7ec;--blue:#89b4fa;--lavender:#b4befe;--text:#cdd6f4;--subtext1:#bac2de;--subtext0:#a6adc8;--overlay2:#9399b2;--overlay1:#7f849c;--overlay0:#6c7086;--surface2:#585b70;--surface1:#45475a;--surface0:#313244;--base:#1e1e2e;--mantle:#181825;--crust:#11111b}*{box-sizing:border-box}.has-tooltip{position:relative}.ui-tooltip{position:fixed;left:0;top:0;z-index:2000;max-width:min(420px,calc(100vw - 16px));padding:7px 10px;border-radius:8px;border:1px solid color-mix(in srgb,var(--overlay1) 45%,var(--surface1));background:color-mix(in srgb,var(--crust) 90%,transparent);color:var(--text);font-family:"IBM Plex Sans",sans-serif;font-size:12px;line-height:1.35;text-align:left;box-shadow:var(--shadow-soft),var(--shadow-crisp);pointer-events:none;opacity:0;transform:translateY(3px);transition:opacity 120ms ease,transform 120ms ease}.ui-tooltip.open{opacity:1;transform:translateY(0)}.alert-dev-table td,.alert-dev-table th,.badge,.card,.chip,.detail,.development-stats-panel,.development-stats-rail,.kpi,.mini div,.modal-card,.modal-mini-table td,.modal-mini-table th,.modal-row,.panel,.project,.search,.state-banner,.state-panel,.table-shell,.topbar,body,button,html{transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,box-shadow 180ms ease}body{margin:0;min-height:100vh;font-family:"IBM Plex Sans",sans-serif;color:var(--text);background:radial-gradient(circle at 22% 8%,color-mix(in srgb,var(--sky) 9%,transparent),transparent 55%),radial-gradient(circle at 88% 12%,color-mix(in srgb,var(--mauve) 9%,transparent),transparent 52%),linear-gradient(180deg,var(--base),var(--mantle));transition:background 220ms ease,color 180ms ease}body.modal-open{overflow:hidden}body::after{content:"";pointer-events:none;position:fixed;inset:0;opacity:.05;background-image:radial-gradient(var(--text) .25px,transparent .25px);background-size:3px 3px}.shell{width:min(1600px,96vw);margin:20px auto 24px;display:grid;grid-template-rows:auto 1fr;gap:14px}.topbar{background:color-mix(in srgb,var(--base) 72%,transparent);padding:14px 18px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;animation:rise .35s ease both}.title{display:flex;align-items:baseline;gap:12px}.title h1{margin:0;font-family:"Cormorant Garamond",serif;font-size:clamp(30px, 3.2vw, 42px);line-height:1;letter-spacing:.01em;font-weight:600}.title p{margin:0;color:var(--subtext1);font-size:14px;font-family:"IBM Plex Mono",monospace}.title .title-credit{margin-left:auto;text-align:right}.actions{display:flex;align-items:center;gap:10px}.chip,button{border:1px solid var(--surface1);background:var(--base);color:var(--text);border-radius:999px;font:inherit}button{padding:9px 14px;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:hover{border-color:var(--overlay1)}button.primary:hover{background:color-mix(in srgb,var(--green) 12%,var(--base));border-color:color-mix(in srgb,var(--green) 42%,var(--surface1))}button.warn:hover{background:color-mix(in srgb,var(--yellow) 12%,var(--base));border-color:color-mix(in srgb,var(--yellow) 38%,var(--surface1))}.theme-toggle{display:inline-flex;border-radius:999px;overflow:hidden;border:1px solid var(--surface1);background:var(--base)}.theme-toggle button{border-radius:0;border-left:none;border-top:none;border-bottom:none}.theme-toggle button:first-child{border-left:1px solid var(--surface1)}.theme-toggle button{color:var(--subtext1)}.theme-toggle button.active{background:color-mix(in srgb,var(--blue) 14%,var(--base));color:var(--blue)}.main{display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px;min-height:80vh;align-items:start}.panel,.topbar{border:1px solid var(--surface1);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft),var(--shadow-crisp);backdrop-filter:blur(8px)}.card,.detail,.development-stats-panel,.development-stats-rail,.modal-row,.state-panel,.treemap-summary{border:1px solid var(--surface1)}.panel{background:var(--surface-glass-bg)}.sidebar{padding:16px;display:grid;grid-template-rows:auto auto auto auto 1fr;gap:12px;animation:rise .45s ease both;align-self:start}.sidebar h2,.workspace h2{margin:0;font-family:"Cormorant Garamond",serif;font-size:28px;font-weight:600;letter-spacing:.02em}.sub{margin-top:2px;color:var(--subtext1);font-size:13px}.search{width:100%;border-radius:var(--radius-sm);border:1px solid var(--surface1);background:var(--mantle);color:var(--text);padding:11px 12px;font-family:"IBM Plex Mono",monospace;font-size:12px}.compare-sidebar-btn{width:100%;height:clamp(34px,4vh,40px);padding-top:0;padding-bottom:0}.compare-all-sidebar-btn{border-style:dashed}.compare-bulk-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.project-list{overflow:auto;padding-right:3px;padding-top:6px;display:grid;align-content:start;gap:8px}.project{border:1px solid var(--surface1);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--mantle) 92%,transparent);padding:10px;display:grid;gap:8px;cursor:pointer;transition:border-color 140ms ease,transform 140ms ease}.project:hover{border-color:var(--overlay1);transform:translateY(-1px)}.project.active{border-color:color-mix(in srgb,var(--blue) 60%,var(--surface1));background:color-mix(in srgb,var(--blue) 8%,var(--mantle))}.project .head{display:flex;justify-content:space-between;align-items:center;gap:8px}.project .name-wrap{display:flex;align-items:center;gap:8px;min-width:0}.project .name{font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-compare-toggle{width:20px;height:20px;border-radius:6px;border:1px solid var(--surface1);display:inline-flex;align-items:center;justify-content:center;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:700;line-height:1;cursor:pointer;user-select:none;flex:0 0 auto}.project-compare-toggle.add{color:var(--green);border-color:color-mix(in srgb,var(--green) 45%,var(--surface1));background:color-mix(in srgb,var(--green) 10%,var(--base))}.project-compare-toggle.remove{color:var(--yellow);border-color:color-mix(in srgb,var(--yellow) 45%,var(--surface1));background:color-mix(in srgb,var(--yellow) 10%,var(--base))}.project-compare-toggle:hover{border-color:var(--overlay1)}.badge{font-family:"IBM Plex Mono",monospace;font-size:11px;border-radius:8px;padding:3px 6px;border:1px solid var(--surface1);color:var(--subtext1)}.project-tag-badge{border-color:color-mix(in srgb,var(--peach) 38%,var(--surface1));background:color-mix(in srgb,var(--peach) 12%,var(--base));color:color-mix(in srgb,var(--peach) 82%,var(--text))}.project-tag-badge-alt{border-color:color-mix(in srgb,var(--teal) 35%,var(--surface1));background:color-mix(in srgb,var(--teal) 9%,var(--base));color:color-mix(in srgb,var(--teal) 78%,var(--text))}.compare-row-tag{margin-left:6px;font-size:10px;vertical-align:middle}.mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;font-size:11px;color:var(--subtext0)}.mini div{border:1px solid var(--surface1);border-radius:8px;padding:5px;text-align:center}.mini .metric-label{display:block}.mini .metric-value{display:block;margin-top:2px;font-weight:700}.mini .metric-value.loc{color:var(--lavender)}.mini .metric-value.cyclo{color:var(--red)}.mini .metric-value.funcs{color:var(--blue)}.mini .metric-value.classes{color:var(--teal)}.mini .metric-value.complex{color:var(--peach)}.mini .metric-value.lcom{color:var(--green)}.workspace{padding:16px;display:grid;align-content:start;gap:12px;animation:rise .55s ease both}.workspace-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.ws-title{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.ws-title .project-name{font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--subtext1)}.toolbar{display:flex;gap:8px}.workspace-tags{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.toolbar button.primary{border-color:color-mix(in srgb,var(--green) 52%,var(--surface1));color:var(--green)}.toolbar button.warn{border-color:color-mix(in srgb,var(--yellow) 45%,var(--surface1));color:var(--yellow)}.development-stats-rail{border-radius:var(--radius-md);padding:12px;background:var(--surface-soft-bg);display:grid;grid-template-columns:1fr;align-self:start;gap:10px}.development-stats-rail h5{margin:0;font-size:11px;font-family:"IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--subtext1)}.development-stats-panel{grid-column:1/-1;border-radius:10px;padding:9px 10px;font-size:11px;background:color-mix(in srgb,var(--base) 92%,transparent);color:var(--subtext0)}#developmentStatsSummary{font-size:12px;line-height:1.45;color:var(--subtext1)}.dev-summary-value.avg-contributors{color:color-mix(in srgb,var(--mauve) 48%,var(--blue));font-weight:600}.dev-summary-value.avg-contributions{color:color-mix(in srgb,var(--mauve) 82%,var(--peach));font-weight:600}.dev-summary-value em{font-style:normal;font-weight:600;opacity:.9}#developmentStatsMatrix{padding:0;overflow:hidden}.development-stats-chart{border-top:1px solid var(--surface1);padding:10px 10px 9px;display:grid;gap:8px;background:color-mix(in srgb,var(--base) 95%,transparent)}.development-stats-chart-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-family:"IBM Plex Mono",monospace;font-size:10px;color:var(--subtext1)}.development-stats-chart-head small{color:var(--subtext0);font-size:10px}.development-stats-chart svg{width:100%;height:132px;border:1px solid var(--surface1);border-radius:8px;background:linear-gradient(to bottom,color-mix(in srgb,var(--surface0) 35%,transparent) 1px,transparent 1px);background-size:100% 22px}.development-stats-chart-scroll{overflow-x:auto;overflow-y:hidden;padding-bottom:2px}.development-stats-chart-inner{min-width:100%}.chart-axis{stroke:color-mix(in srgb,var(--overlay1) 70%,var(--surface1));stroke-width:1}.chart-line{fill:none;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.chart-line-contributors{stroke:var(--blue)}.chart-line-contributions{stroke:var(--peach)}.chart-avg{stroke-width:2;opacity:.8}.chart-avg-contributors{stroke:color-mix(in srgb,var(--mauve) 48%,var(--blue));stroke-dasharray:1 5;stroke-linecap:round}.chart-avg-contributions{stroke:color-mix(in srgb,var(--mauve) 82%,var(--peach));stroke-dasharray:7 5;stroke-linecap:butt}.development-stats-chart-xlabels{position:relative;height:14px;font-family:"IBM Plex Mono",monospace;font-size:9px;color:var(--subtext0)}.development-stats-chart-xlabels span{position:absolute;transform:translateX(-50%);white-space:nowrap}.development-stats-chart-xlabels span.week-best{color:color-mix(in srgb,var(--green) 82%,var(--text));font-weight:600}.development-stats-chart-xlabels span.week-worst{color:color-mix(in srgb,var(--yellow) 82%,var(--text));font-weight:600}.development-stats-chart-legend{display:flex;gap:10px;flex-wrap:wrap;font-size:10px;color:var(--subtext1);font-family:"IBM Plex Mono",monospace}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:999px;margin-right:4px;vertical-align:baseline}.legend-dot.contributors{background:var(--blue)}.legend-dot.contributions{background:var(--peach)}.alert-dev-title{font-size:11px;font-weight:600;margin-bottom:6px;color:var(--subtext1)}.alert-dev-table td,.alert-dev-table th{text-align:left;border:1px solid var(--surface1)}.alert-dev-table th{color:var(--subtext1);background:color-mix(in srgb,var(--mantle) 80%,transparent)}.alert-dev-table td:first-child{font-weight:600;color:var(--subtext1);white-space:nowrap}.dev-stat-value.best{color:color-mix(in srgb,var(--green) 82%,var(--text));font-weight:600}.dev-stat-value.worst{color:color-mix(in srgb,var(--yellow) 82%,var(--text));font-weight:600}.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:0;align-content:start}.card{border-radius:var(--radius-md);background:var(--surface-soft-bg);padding:12px;min-height:180px;display:grid;gap:10px}.state-panel{border-radius:var(--radius-md);background:var(--surface-soft-strong-bg);padding:16px}.state-panel h3{margin:0;font-size:14px;letter-spacing:.02em;color:var(--text)}.state-banner{border:1px solid var(--surface1);border-radius:var(--radius-sm);padding:9px 10px;font-size:12px;font-family:"IBM Plex Mono",monospace}.state-banner.state-partial{border-color:color-mix(in srgb,var(--yellow) 40%,var(--surface1));background:color-mix(in srgb,var(--yellow) 12%,transparent)}.card h3{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.1em;font-family:"IBM Plex Mono",monospace;color:var(--subtext1)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.hotspot-card{min-height:0}.arch-health-card{position:relative;overflow:hidden}.arch-health-card::before{content:"";position:absolute;inset:0;border-top:2px solid color-mix(in srgb,var(--teal) 54%,transparent);pointer-events:none}.arch-health-bottleneck{border:1px solid color-mix(in srgb,var(--yellow) 44%,var(--surface1));border-radius:var(--radius-sm);padding:5px 8px;background:color-mix(in srgb,var(--yellow) 11%,var(--base));color:color-mix(in srgb,var(--yellow) 70%,var(--text));font-family:"IBM Plex Mono",monospace;font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.arch-health-kpis{grid-template-columns:minmax(0,1.25fr) repeat(2,minmax(0,1fr))}.arch-health-primary-kpi{border-color:color-mix(in srgb,var(--teal) 45%,var(--surface1));background:color-mix(in srgb,var(--teal) 9%,var(--base))}.arch-health-primary-kpi .value{color:color-mix(in srgb,var(--teal) 72%,var(--text))}.hotspot-table-shell{border:1px solid var(--surface1);border-radius:10px;overflow:auto;max-height:min(48vh,520px)}.hotspot-limit-toggle button{padding:6px 10px;font-size:11px;font-family:"IBM Plex Mono",monospace}.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.kpi{border:1px solid var(--surface1);border-radius:10px;padding:10px;background:color-mix(in srgb,var(--base) 92%,transparent)}.kpi.drilldown-kpi{cursor:pointer;position:relative}.kpi.drilldown-kpi:hover{transform:translateY(-1px)}.kpi.drilldown-kpi[data-drill-metric=loc]{border-color:color-mix(in srgb,var(--green) 45%,var(--surface1));background:color-mix(in srgb,var(--green) 9%,var(--base))}.kpi.drilldown-kpi[data-drill-metric=cyclo]{border-color:color-mix(in srgb,var(--yellow) 45%,var(--surface1));background:color-mix(in srgb,var(--yellow) 10%,var(--base))}.kpi .label{font-size:11px;color:var(--subtext1);text-transform:uppercase;letter-spacing:.08em;font-family:"IBM Plex Mono",monospace}.kpi .value{margin-top:6px;font-size:24px;line-height:1;font-weight:600}.kpi .value.kpi-value-error{color:var(--red)}.kpi .value.kpi-value-warning{color:var(--yellow)}.kpi .value.kpi-value-note{color:var(--sky)}.alert-dev-table,.compare-detail-table,.compare-table,.metric-table,.modal-mini-table{width:100%;border-collapse:collapse}.compare-detail-table,.compare-table,.metric-table{font-size:12px}.alert-dev-table,.modal-mini-table{font-size:11px}.alert-dev-table td,.alert-dev-table th,.compare-detail-table td,.compare-detail-table th,.compare-table td,.compare-table th,.metric-table td,.metric-table th,.modal-mini-table td,.modal-mini-table th{border-bottom:1px solid var(--surface1);text-align:left}.compare-detail-table td,.compare-detail-table th,.compare-table td,.compare-table th,.metric-table td,.metric-table th{padding:7px 8px}.alert-dev-table td,.alert-dev-table th,.modal-mini-table td,.modal-mini-table th{padding:5px 6px}.compare-detail-table th,.compare-table th,.metric-table th{color:var(--subtext1);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-family:"IBM Plex Mono",monospace}.compare-detail-table tbody tr:hover,.compare-table tbody tr:hover,.metric-table tbody tr:hover{background:color-mix(in srgb,var(--blue) 6%,transparent)}.arch-health-score-cell{display:grid;grid-template-columns:52px minmax(56px,1fr);align-items:center;gap:8px}.arch-health-meter{display:block;height:6px;border-radius:999px;background:color-mix(in srgb,var(--surface1) 72%,transparent);overflow:hidden}.arch-health-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--red) 88%,var(--yellow)),var(--arch-health-meter-end,var(--yellow)))}.mono{font-family:"IBM Plex Mono",monospace}.severity{display:inline-flex;align-items:center;gap:6px}.dot{width:7px;height:7px;border-radius:50%}.dot.error{background:var(--red)}.dot.warning{background:var(--yellow)}.dot.note{background:var(--sky)}.compare-zone{display:none;gap:10px;min-height:0;overflow:hidden}.compare-zone.active{display:grid;grid-template-rows:auto minmax(0,1fr)}.table-shell{border:1px solid var(--surface1);border-radius:var(--radius-md);overflow-x:hidden;overflow-y:auto;min-height:0}.compare-detail-table thead th,.compare-table thead th{cursor:pointer;position:sticky;top:0;background:color-mix(in srgb,var(--mantle) 96%,transparent);white-space:nowrap}.compare-table thead th{z-index:2}.compare-detail-table thead th{z-index:1}.compare-table thead th:hover{color:var(--text)}.compare-detail-table thead th[data-sort-active=true]::before,.compare-table thead th[data-sort-active=true]::before{display:inline-block;width:.8em;margin-right:4px;font-size:10px;line-height:1}.compare-detail-table thead th[data-sort-active=true][data-sort-dir=asc]::before,.compare-table thead th[data-sort-active=true][data-sort-dir=asc]::before{content:"▲"}.compare-detail-table thead th[data-sort-active=true][data-sort-dir=desc]::before,.compare-table thead th[data-sort-active=true][data-sort-dir=desc]::before{content:"▼"}.compare-table tbody tr{cursor:pointer}.compare-table tbody tr.baseline-row{background:color-mix(in srgb,var(--teal) 15%,var(--mantle))}.details{display:grid;gap:8px;min-height:0;overflow-y:auto;overflow-x:hidden}.detail{border-radius:12px;padding:10px;background:var(--surface-soft-strong-bg);min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px}.detail h4{margin:0;font-family:"IBM Plex Sans",sans-serif;font-size:14px;font-weight:600}.compare-detail-table-shell{min-height:0;overflow-y:auto;overflow-x:auto}.compare-detail-table thead th:hover{color:var(--text)}.chip{display:inline-flex;align-items:center;justify-content:center;padding:7px 8px;font-size:11px;font-family:"IBM Plex Mono",monospace}.muted{color:var(--subtext1)}.compare-detail-table .compare-delta-positive{color:var(--green)}.compare-detail-table .compare-delta-negative{color:var(--red)}.hotspot-table tbody tr{cursor:pointer}.hotspot-table td:not(:first-child),.hotspot-table th:not(:first-child),.modal-mini-table td:not(:first-child),.modal-mini-table th:not(:first-child){white-space:nowrap;width:1%}.hotspot-table td:first-child,.hotspot-table th:first-child,.modal-mini-table td:first-child,.modal-mini-table th:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0}.hotspot-table tbody tr.hotspot-selected{background:color-mix(in srgb,var(--blue) 14%,var(--mantle))}.metric-table tbody tr.category-selected{background:color-mix(in srgb,var(--teal) 16%,var(--mantle))}.metric-table tbody tr[data-ui-id=category-row]{cursor:pointer}.modal-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:20px;background:color-mix(in srgb,var(--crust) 62%,transparent);z-index:999}.modal-overlay.open{display:flex}.modal-card{width:min(1024px,96vw);max-height:calc(100vh - 40px);border:1px solid var(--surface1);border-radius:var(--radius-md);background:color-mix(in srgb,var(--base) 94%,transparent);box-shadow:var(--shadow-soft),var(--shadow-crisp);padding:14px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-head h3{margin:0;font-family:"Cormorant Garamond",serif;font-size:24px;font-weight:600}.modal-close-btn{padding:7px 10px;font-size:12px}.modal-body{display:grid;align-content:start;gap:8px;min-height:0;overflow:auto;padding-right:2px}.modal-row{border-radius:var(--radius-sm);padding:8px 10px;display:grid;grid-template-columns:160px 1fr;gap:8px;align-items:center;background:color-mix(in srgb,var(--mantle) 92%,transparent)}.modal-row .label{color:var(--subtext1);font-size:12px;font-family:"IBM Plex Mono",monospace}.modal-row .value{font-size:13px;word-break:break-word;overflow:auto}.modal-mini-table th{color:var(--subtext1);text-transform:uppercase;letter-spacing:.06em;font-size:9px}.modal-mini-table tbody tr{--row-bg:transparent;background:var(--row-bg)}.modal-mini-table tbody tr.category-secret{--row-bg:color-mix(in srgb, var(--maroon) 24%, transparent)}.modal-mini-table tbody tr.category-vulnerability{--row-bg:color-mix(in srgb, var(--peach) 12%, transparent)}.modal-mini-table tbody tr.category-structure{--row-bg:color-mix(in srgb, var(--yellow) 12%, transparent)}.modal-mini-table tbody tr.category-duplication{--row-bg:color-mix(in srgb, var(--sky) 12%, transparent)}.modal-mini-table tbody tr.category-dependencyalert{--row-bg:color-mix(in srgb, var(--pink) 12%, transparent)}.modal-mini-table tbody tr:hover{background:color-mix(in srgb,var(--row-bg) 94%,var(--blue) 6%)}.modal-mini-table tbody tr.selected-category-match td{font-weight:700}.treemap-modal-card{width:min(1200px,96vw)}.treemap-modal-actions{display:inline-flex;align-items:center;gap:8px}.treemap-modal-body{gap:12px}.treemap-summary{border-radius:var(--radius-sm);background:var(--surface-soft-bg);padding:10px;display:grid;gap:4px}.treemap-subtitle{font-size:12px;color:var(--subtext1)}.treemap-hint{font-size:13px}.treemap-focus-data{margin-top:2px;max-height:none}.treemap-focus-data .hotspot-table tbody tr{cursor:default}.treemap-focus-data .hotspot-table tbody tr:hover{background:0 0}.treemap-grid{min-height:min(68vh,700px);border:1px solid var(--surface1);border-radius:var(--radius-md);padding:10px;background:color-mix(in srgb,var(--base) 95%,transparent);position:relative;display:block;overflow:hidden}.compare-detail-row-tag{margin-left:6px;font-size:10px;vertical-align:middle}.treemap-tooltip{min-width:180px}.treemap-tooltip-title{font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:600}.treemap-tooltip-table{margin-top:6px;border-collapse:collapse;font-size:11px}.treemap-tooltip-table th{text-align:left;padding-right:12px}@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1120px){.main{grid-template-columns:1fr}.development-stats-rail{grid-template-columns:1fr}.overview-grid{grid-template-columns:1fr}}