:root{color-scheme:light;font-family:IBM Plex Sans,Segoe UI,sans-serif;background:radial-gradient(circle at top left,rgb(17 94 89 / 18%),transparent 34%),linear-gradient(135deg,#f5f5ef,#e2e7df);color:#0f1720}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}html{font-size:17px}button,input{font:inherit}#app{height:100vh;overflow:hidden}.shell{position:relative;--sidebar-overlay-width: min(22rem, calc(100vw - 4.5rem) );height:100vh;overflow:hidden}.sidebar{position:absolute;inset:0 auto 0 0;z-index:6;width:var(--sidebar-overlay-width);height:100vh;padding:2rem;background:#f8f9f2e5;border-right:1px solid rgb(15 23 32 / 8%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:16px 0 34px #0f172024;overflow:visible auto;transition:transform .18s ease,box-shadow .18s ease}.sidebar[data-collapsed=true]{transform:translate(-100%);box-shadow:none}.utility-actions{position:absolute;top:1rem;left:1rem;z-index:7;display:flex;align-items:center;gap:.65rem;transition:left .18s ease}.shell[data-sidebar-collapsed=false] .utility-actions{left:calc(var(--sidebar-overlay-width) + .7rem)}.utility-button{display:inline-flex;align-items:center;justify-content:center;width:2.8rem;height:2.8rem;border:0;border-radius:.95rem;background:#fffffff0;box-shadow:0 12px 28px #0f17202e;color:#0f1720;cursor:pointer;transition:transform .12s ease}.utility-button:hover{transform:translateY(-1px)}.utility-button:focus-visible{outline:2px solid rgb(15 118 110 / 45%);outline-offset:2px}.utility-button[aria-pressed=true]{background:linear-gradient(135deg,#0f766ef5,#2563ebeb);color:#f8fafc;box-shadow:0 14px 30px #0f766e47}.utility-button-icon{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem}.utility-button-icon svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentcolor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar-toggle-icon{font-size:.96rem;font-weight:800;letter-spacing:-.04em}.eyebrow{margin:0 0 .75rem;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#115e59}.sidebar h1{margin:0;font-size:clamp(2rem,3vw,2.7rem);line-height:.95}.intro{margin:1rem 0 1.75rem;line-height:1.6;color:#31414d}.search-form{display:grid;gap:.6rem}.search-form label{font-size:.92rem;font-weight:600}.search-results{display:grid;gap:.55rem;margin-top:.85rem;max-height:16rem;overflow-y:auto}.top-complexity-panel{margin-top:1rem;border-radius:1rem;background:#ffffffa3;border:1px solid rgb(15 23 32 / 6%);overflow:hidden}.top-complexity-toggle{padding:.9rem 1rem;cursor:pointer;list-style:none;font-size:.92rem;font-weight:700;color:#0f1720}.top-complexity-toggle::-webkit-details-marker{display:none}.top-complexity-toggle:after{content:"+";float:right;color:#115e59}.top-complexity-panel[open] .top-complexity-toggle:after{content:"−"}.top-complexity-body{padding:0 .85rem .9rem}.top-complexity-meta{margin:0 0 .8rem;font-size:.8rem;line-height:1.5;color:#52616f}.top-complexity-compare{display:grid;gap:.7rem}.top-complexity-field{display:grid;gap:.35rem}.top-complexity-field span{font-size:.82rem;font-weight:700;color:#52616f}.top-complexity-field select{width:100%;padding:.7rem .8rem;border:1px solid rgb(15 23 32 / 12%);border-radius:.8rem;background:#fffc}.top-complexity-button{padding:.8rem .95rem;border:0;border-radius:999px;background:#115e59;color:#f8fafc;font-size:.88rem;font-weight:700;cursor:pointer}.top-complexity-button:disabled{opacity:.55;cursor:not-allowed}.search-results-empty{margin:0;padding:.85rem 1rem;border-radius:1rem;background:#ffffffa6;color:#52616f;border:1px solid rgb(15 23 32 / 6%)}.search-result{display:grid;gap:.18rem;width:100%;padding:.9rem 1rem;text-align:left;border:1px solid rgb(15 23 32 / 8%);border-radius:1rem;background:#ffffffd9;cursor:pointer}.search-result-name{font-weight:700;color:#0f1720}.search-result-id,.search-result-aliases{font-size:.88rem;color:#52616f}.controls-panel{position:absolute;top:1.25rem;right:1.25rem;z-index:5;width:min(19rem,calc(100% - 2.5rem));max-height:calc(100vh - 7rem);border-radius:1rem;background:#f8f9f294;border:1px solid rgb(15 23 32 / 7%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 12px 28px #0f17201a;overflow:hidden}.controls-panel:not([open]){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.controls-panel-body{padding:.75rem .85rem .85rem;max-height:calc(100vh - 10rem);overflow-y:auto}.controls-panel[data-visualization-mode=graph] .tree-only-control,.controls-panel[data-visualization-mode=tree] .graph-only-control,.controls-panel[data-visualization-mode=transfer] .tree-only-control,.controls-panel[data-visualization-mode=transfer] .graph-only-control{display:none}.score-panel{margin-top:1.5rem;padding:1rem;border-radius:1.15rem;background:radial-gradient(circle at top left,rgb(15 118 110 / 12%),transparent 42%),#ffffffbd;border:1px solid rgb(15 23 32 / 6%)}.score-kicker{margin:0;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#115e59}.score-header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.6rem}.score-value{font-size:clamp(2.2rem,4vw,3.2rem);font-weight:800;line-height:1}.score-band{padding:.45rem .8rem;border-radius:999px;font-size:.86rem;font-weight:700}.score-band-low{background:#0f766e1f;color:#115e59}.score-band-moderate{background:#d977061f;color:#92400e}.score-band-high{background:#ea580c24;color:#c2410c}.score-band-severe{background:#be185d24;color:#be185d}.score-band-transfer{background:#2563eb24;color:#1d4ed8}.score-summary{margin:.75rem 0 0;line-height:1.5;color:#20303a}.score-signals{margin:.8rem 0 0;padding-left:1rem;color:#52616f}.score-signals li+li{margin-top:.4rem}.controls-header h2{margin:0;font-size:.92rem}.controls-header p{margin:.35rem 0 0;font-size:.8rem;color:#52616f}.control-grid{display:grid;gap:.7rem;margin-top:.75rem}.control-field{display:grid;gap:.35rem}.control-field span{display:flex;justify-content:space-between;gap:.75rem;font-size:.82rem;font-weight:600}.control-field select,.control-field input[type=range]{width:100%}.benchmark-body{overflow:auto}.benchmark-body #app{height:auto;min-height:100vh;overflow:visible}.benchmark-page{min-height:100vh;padding:2rem;overflow:visible}.benchmark-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(20rem,.9fr);gap:1.5rem;align-items:start}.benchmark-hero-copy,.benchmark-strategy-card,.benchmark-metric-card,.benchmark-section{border:1px solid rgb(15 23 32 / 8%);border-radius:1.4rem;background:#ffffffb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 18px 40px #0f172014}.benchmark-hero-copy{padding:1.8rem 1.9rem;background:radial-gradient(circle at top left,rgb(15 118 110 / 14%),transparent 30%),radial-gradient(circle at bottom right,rgb(217 119 6 / 12%),transparent 32%),#ffffffb8}.benchmark-kicker{margin:0;font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#115e59}.benchmark-hero h1,.benchmark-section h2{margin:.5rem 0 0;font-size:clamp(1.7rem,3vw,2.8rem);line-height:.95}.benchmark-summary{margin:1rem 0 0;max-width:52rem;line-height:1.7;color:#31414d}.benchmark-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.8rem;margin-top:1.35rem}.benchmark-meta-grid span{padding:.9rem 1rem;border-radius:1rem;background:#ffffffb8;border:1px solid rgb(15 23 32 / 6%);color:#31414d}.benchmark-hero-actions{display:grid;gap:1rem}.benchmark-link-pill{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:.85rem 1.05rem;border-radius:999px;background:#0f1720;color:#f8fafc;text-decoration:none;font-weight:700;box-shadow:0 14px 28px #0f172029}.benchmark-sidebar-link{width:100%;margin-top:1rem}.benchmark-strategy-card{padding:1.3rem 1.35rem}.benchmark-strategy-card h2{margin:0;font-size:1rem}.benchmark-strategy-card ul{margin:.8rem 0 0;padding-left:1rem;color:#41515e}.benchmark-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem;margin-top:1.4rem}.benchmark-metric-card{padding:1.2rem 1.15rem}.benchmark-metric-label{margin:0;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#52616f}.benchmark-metric-value{margin-top:.55rem;font-size:clamp(1.6rem,2.5vw,2.3rem);font-weight:800;letter-spacing:-.04em}.benchmark-metric-detail{margin:.7rem 0 0;line-height:1.5;color:#52616f}.benchmark-section{margin-top:1.4rem;padding:1.3rem}.benchmark-section-compact{margin-top:0}.benchmark-section-header{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.benchmark-section-header h2{font-size:clamp(1.2rem,2vw,1.7rem)}.benchmark-section-note{margin:0;max-width:34rem;text-align:right;line-height:1.6;color:#52616f}.benchmark-pass-grid,.benchmark-two-column{display:grid;gap:1rem}.benchmark-pass-grid{grid-template-columns:repeat(auto-fit,minmax(17rem,1fr))}.benchmark-two-column{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.4rem}.benchmark-pass-card{padding:1rem 1.05rem;border-radius:1rem;background:radial-gradient(circle at top right,rgb(15 118 110 / 10%),transparent 34%),#f8f9f2d1;border:1px solid rgb(15 23 32 / 6%)}.benchmark-pass-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.benchmark-pass-index{margin:0;font-size:1rem;font-weight:800}.benchmark-pass-pill{padding:.35rem .7rem;border-radius:999px;background:#0f766e1f;color:#115e59;font-size:.78rem;font-weight:700}.benchmark-pass-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}.benchmark-pass-stats div{padding:.8rem .85rem;border-radius:.95rem;background:#ffffffbd;border:1px solid rgb(15 23 32 / 6%)}.benchmark-pass-stats span{display:block;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#52616f}.benchmark-pass-stats strong{display:block;margin-top:.3rem;font-size:1.1rem}.benchmark-pass-detail{margin:.9rem 0 0;line-height:1.5;color:#41515e}.benchmark-matrix-wrap,.benchmark-table-wrap{overflow:auto;border-radius:1rem;border:1px solid rgb(15 23 32 / 7%);background:#ffffff0d}.benchmark-matrix,.benchmark-table{width:100%;border-collapse:separate;border-spacing:0}.benchmark-matrix{min-width:78rem}.benchmark-matrix-corner,.benchmark-matrix-header,.benchmark-table th{position:sticky;top:0;z-index:2;background:#f8f9f2f5}.benchmark-matrix-corner,.benchmark-matrix-row,.benchmark-matrix-header,.benchmark-table th,.benchmark-table td{border-bottom:1px solid rgb(15 23 32 / 7%)}.benchmark-matrix-corner{left:0;z-index:3;min-width:19rem;padding:.95rem 1rem;text-align:left;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.benchmark-matrix-header{min-width:3.1rem;padding:.8rem .2rem;text-align:center;font-size:.8rem;color:#52616f}.benchmark-matrix-row{position:sticky;left:0;z-index:1;min-width:19rem;padding:.75rem .9rem;text-align:left;background:#f8f9f2fa}.benchmark-matrix-rank{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#52616f}.benchmark-matrix-name{display:block;margin-top:.25rem;font-size:.86rem;line-height:1.35}.benchmark-matrix-cell{min-width:3.1rem;padding:.75rem .25rem;text-align:center;font-size:.78rem;font-weight:700;color:#0f1720;border-bottom:1px solid rgb(15 23 32 / 5%);border-right:1px solid rgb(15 23 32 / 5%)}.benchmark-matrix-cell sup{margin-left:.12rem;font-size:.62rem;color:#7c2d12}.benchmark-matrix-cell-diagonal{background:#0f17200a;color:#52616fd6}.benchmark-matrix-cell-empty{background:#ffffffad;color:#94a3b8}.benchmark-matrix-cell-error{background:repeating-linear-gradient(135deg,#be185d24,#be185d24 8px,#ffffffd1 8px 16px);color:#9d174d}.benchmark-table th,.benchmark-table td{padding:.85rem .95rem;text-align:left;vertical-align:top;background:#ffffffb8}.benchmark-table th{font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#52616f}.benchmark-table-tight td,.benchmark-table-tight th{padding:.75rem .85rem}.benchmark-subcopy{margin-top:.22rem;font-size:.78rem;color:#52616f}.benchmark-empty{margin:0;padding:1rem;border-radius:1rem;background:#ffffffad;border:1px solid rgb(15 23 32 / 7%);color:#52616f}@media(max-width:1100px){.benchmark-hero,.benchmark-two-column{grid-template-columns:1fr}.benchmark-section-header{align-items:start;flex-direction:column}.benchmark-section-note{text-align:left}}@media(max-width:700px){.benchmark-page{padding:1rem}.benchmark-meta-grid,.benchmark-card-grid,.benchmark-pass-grid,.benchmark-pass-stats{grid-template-columns:1fr}}.toggle-control{display:flex;align-items:center;gap:.55rem;padding:.7rem .8rem;border-radius:.8rem;border:1px solid rgb(15 23 32 / 8%);background:#ffffffb8;font-size:.8rem;color:#31414d}.toggle-control input{inline-size:1rem;block-size:1rem}.toggle-control span{display:block;font-size:.8rem;font-weight:600}.relation-type-filters{display:grid;gap:.45rem}.relation-filter-option{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:.55rem;font-size:.78rem;color:#31414d}.relation-filter-code,.relation-legend-code{display:inline-flex;align-items:center;justify-content:center;min-width:1.7rem;padding:.18rem .35rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.04em}.relation-type-s{background:#0f766e24;color:#115e59}.relation-type-v{background:#d9770624;color:#92400e}.relation-type-f{background:#2563eb24;color:#1d4ed8}.relation-type-b{background:#a855f724;color:#7e22ce}.relation-type-h{background:#47556924;color:#334155}.control-field select{padding:.6rem .75rem;border:1px solid rgb(15 23 32 / 12%);border-radius:.75rem;background:#ffffffb8}.edge-legend{margin-top:.8rem;padding-top:.75rem;border-top:1px solid rgb(15 23 32 / 6%)}.edge-legend-note{margin:0;font-size:.78rem;line-height:1.5;color:#52616f}.station-row{display:flex;gap:.75rem}.station-row input{flex:1;min-width:0;padding:.85rem 1rem;border:1px solid rgb(15 23 32 / 12%);border-radius:999px;background:#fff}.station-row button{padding:.85rem 1.15rem;border:0;border-radius:999px;background:#115e59;color:#f8fafc;font-weight:700;cursor:pointer}.status-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1.5rem 0 1rem}.analysis-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0 0 1rem}.status-panel div{padding:.9rem 1rem;border-radius:1rem;background:#ffffffbf;border:1px solid rgb(15 23 32 / 6%)}.analysis-panel div{padding:.9rem 1rem;border-radius:1rem;background:#fff9;border:1px solid rgb(15 23 32 / 5%)}.status-panel dt{margin:0 0 .3rem;font-size:.82rem;color:#52616f}.status-panel dd{margin:0;font-size:1.4rem;font-weight:700}.analysis-panel dt{margin:0 0 .3rem;font-size:.82rem;color:#52616f}.analysis-panel dd{margin:0;font-size:1.2rem;font-weight:700}.semantic-panel,.risk-panel,.transfer-panel{margin:0 0 1rem;padding:1rem;border-radius:1rem;background:#ffffffb8;border:1px solid rgb(15 23 32 / 6%)}.findings-panel{margin:0 0 1rem;border-radius:1rem;background:#ffffffb8;border:1px solid rgb(15 23 32 / 6%);overflow:hidden}.findings-toggle{padding:.9rem 1rem;cursor:pointer;list-style:none;font-size:.92rem;font-weight:700;color:#0f1720}.findings-toggle::-webkit-details-marker{display:none}.findings-toggle:after{content:"+";float:right;color:#115e59}.findings-panel[open] .findings-toggle:after{content:"−"}.findings-panel[open] .findings-toggle{border-bottom:1px solid rgb(15 23 32 / 6%)}.findings-body{padding:1rem}.panel-kicker{margin:0;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#115e59}.panel-summary{margin:.7rem 0 0;line-height:1.5;color:#31414d}.relation-legend{display:grid;gap:.55rem;margin-top:.8rem}.relation-legend-item{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start}.relation-legend-copy{display:grid;gap:.12rem}.relation-legend-copy strong{font-size:.82rem}.relation-legend-copy span{font-size:.76rem;color:#52616f}.panel-notes{margin:.85rem 0 0;padding-left:1rem;color:#52616f}.panel-notes li+li{margin-top:.35rem}.findings-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:.85rem 0 0}.findings-stats div{padding:.7rem .8rem;border-radius:.85rem;background:#f8f9f2d1;border:1px solid rgb(15 23 32 / 5%)}.findings-stats dt{margin:0 0 .25rem;font-size:.76rem;color:#52616f}.findings-stats dd{margin:0;font-size:1rem;font-weight:800}.risk-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:.85rem 0 0}.risk-stats div{padding:.7rem .8rem;border-radius:.85rem;background:#f8f9f2d1;border:1px solid rgb(15 23 32 / 5%)}.risk-stats dt{margin:0 0 .25rem;font-size:.76rem;color:#52616f}.risk-stats dd{margin:0;font-size:1rem;font-weight:800}.risk-signals{margin-top:.85rem}.risk-tables{display:grid;gap:.85rem;margin-top:1rem}.risk-table-section h3{margin:0 0 .55rem;font-size:.9rem}.risk-table-wrap{overflow-x:auto;border-radius:.95rem;border:1px solid rgb(15 23 32 / 6%);background:#f8f9f2d1}.risk-table{width:100%;border-collapse:collapse;min-width:42rem}.risk-table th,.risk-table td{padding:.7rem .8rem;border-bottom:1px solid rgb(15 23 32 / 6%);text-align:left;vertical-align:top}.risk-table th{font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#52616f}.risk-table td{font-size:.8rem;color:#31414d}.risk-table tbody tr:last-child td{border-bottom:0}.risk-subcopy{margin-top:.18rem;font-size:.74rem;color:#64748b}.risk-empty{color:#64748b}.risk-badge{display:inline-flex;align-items:center;justify-content:center;min-width:5.6rem;padding:.28rem .55rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.risk-badge-low{background:#0f766e1f;color:#115e59}.risk-badge-moderate{background:#d977061f;color:#92400e}.risk-badge-high{background:#ea580c24;color:#c2410c}.risk-badge-severe{background:#b91c1c24;color:#b91c1c}.findings-list{display:grid;gap:.65rem;margin-top:.9rem}.finding-card{padding:.8rem .85rem;border-radius:.95rem;background:#f8f9f2d1;border:1px solid rgb(15 23 32 / 5%)}.finding-severity-error{border-color:#b91c1c2e;background:#fef2f2db}.finding-severity-warning{border-color:#d977062e;background:#fff7eddb}.finding-severity-info{border-color:#2563eb24;background:#eff6ffd1}.finding-card-header{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.finding-card-header strong{font-size:.86rem}.finding-severity-pill{display:inline-flex;align-items:center;justify-content:center;min-width:3.8rem;padding:.25rem .5rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.finding-severity-pill-error{background:#b91c1c1f;color:#b91c1c}.finding-severity-pill-warning{background:#d977061f;color:#b45309}.finding-severity-pill-info{background:#2563eb1f;color:#1d4ed8}.finding-summary{margin:.45rem 0 0;font-size:.8rem;line-height:1.45;color:#31414d}.finding-details{margin:.55rem 0 0;padding-left:1rem;color:#52616f}.finding-details li+li{margin-top:.28rem}.transfer-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:.85rem 0 0}.transfer-stats div{padding:.7rem .8rem;border-radius:.85rem;background:#f8f9f2d1;border:1px solid rgb(15 23 32 / 5%)}.transfer-stats dt{margin:0 0 .25rem;font-size:.76rem;color:#52616f}.transfer-stats dd{margin:0;font-size:1rem;font-weight:800}.transfer-attributes{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.85rem}.transfer-attribute-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .65rem;border-radius:999px;background:#0f766e14;font-size:.76rem;color:#31414d}.transfer-lists{display:grid;gap:.85rem;margin-top:.9rem}.transfer-list-section h3{margin:0 0 .5rem;font-size:.92rem}.transfer-list{display:grid;gap:.45rem}.transfer-card{padding:.75rem .8rem;border-radius:.9rem;background:#f8f9f2cc;border:1px solid rgb(15 23 32 / 5%)}.transfer-card-title{font-size:.86rem;font-weight:700;color:#0f1720}.transfer-card-meta,.transfer-empty{margin:.2rem 0 0;font-size:.76rem;line-height:1.45;color:#52616f}.status-message{margin:0;color:#52616f}.graph-panel{position:relative;height:100vh;width:100vw;min-height:0;overflow:hidden;background:radial-gradient(circle at top,rgb(17 94 89 / 6%),transparent 30%),linear-gradient(180deg,#ffffff5c,#ffffff14)}.view-switcher{position:absolute;left:1.25rem;bottom:1.25rem;z-index:5;display:flex;align-items:center;gap:.6rem;transition:left .18s ease}.shell[data-sidebar-collapsed=false] .view-switcher{left:calc(var(--sidebar-overlay-width) + 1.25rem)}.view-switch-button{display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;padding:0;border:0;border-radius:1rem;background:#fffffff0;box-shadow:0 10px 24px #0f172029;color:#0f1720;cursor:pointer;text-align:left;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease,color .12s ease}.view-switch-button:hover{transform:translateY(-1px);box-shadow:0 14px 28px #0f17202e}.view-switch-button:focus-visible{outline:2px solid rgb(15 118 110 / 45%);outline-offset:2px}.view-switch-button[data-active=true]{background:linear-gradient(135deg,#0f766ef5,#2563ebeb);color:#f8fafc;box-shadow:0 14px 30px #0f766e47}.view-switch-icon{display:inline-flex;align-items:center;justify-content:center;width:2.3rem;height:2.3rem;border-radius:.9rem;background:#0f17200f}.view-switch-button[data-active=true] .view-switch-icon{background:#f8fafc29}.view-switch-icon svg{width:1.3rem;height:1.3rem;fill:none;stroke:currentcolor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}#graph{display:block;width:100%;height:100vh}.graph-inspector{position:fixed;z-index:8;width:min(20rem,calc(100vw - 2rem));padding:.95rem 1rem;border-radius:1rem;background:#f8f9f2f5;border:1px solid rgb(15 23 32 / 8%);box-shadow:0 20px 42px #0f17202e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.graph-inspector-header{display:flex;align-items:start;justify-content:space-between;gap:.75rem}.graph-inspector-kicker{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#115e59}.graph-inspector-title{margin:.25rem 0 0;font-size:1rem;line-height:1.25}.graph-inspector-close{border:0;border-radius:999px;padding:.45rem .7rem;background:#0f172014;font-size:.8rem;font-weight:700;cursor:pointer}.graph-inspector-content{display:grid;gap:.42rem;margin-top:.8rem}.graph-inspector-content p{margin:0;line-height:1.45;color:#31414d}.component-bounds circle{fill:#0f766e0a;stroke:#0f766e24;stroke-width:1}.graph-links line{stroke:#0f172047;cursor:pointer}.graph-links .graph-link-kind-s{stroke:#115e59}.graph-links .graph-link-kind-v{stroke:#d97706}.graph-links .graph-link-kind-f{stroke:#2563eb}.graph-links .graph-link-kind-b{stroke:#7c3aed}.graph-links .graph-link-kind-h{stroke:#475569}.graph-links .graph-link-kind-mixed{stroke:#be185d;stroke-dasharray:5 3}.graph-nodes circle{stroke:#f8f9f2f2;stroke-width:1.5}.graph-node{fill:#0f1720;cursor:pointer}.graph-node-root{fill:#0f766e}.graph-node-expandable-markers circle{fill:none;stroke:#0891b2c7;stroke-width:1.8;stroke-dasharray:3 2;pointer-events:none}.graph-node-expandable-markers .graph-node-expandable-root{stroke:#0e7490eb}.graph-node-virtual-markers rect{fill:#f59e0b1f;stroke:#b45309c7;stroke-width:1.5;stroke-dasharray:2 2;pointer-events:none}.graph-node-virtual-markers .graph-node-virtual-root{stroke:#92400eeb}.graph-labels text{font-size:12px;fill:#20303a;pointer-events:none}#graph[data-risk-overlay=true] .graph-links .graph-link-risk-moderate{stroke:#d97706}#graph[data-risk-overlay=true] .graph-links .graph-link-risk-high{stroke:#ea580c;stroke-width:2.8}#graph[data-risk-overlay=true] .graph-links .graph-link-risk-severe{stroke:#b91c1c;stroke-width:3.2}#graph[data-risk-overlay=true] .graph-nodes .graph-node-risk-moderate{fill:#d97706}#graph[data-risk-overlay=true] .graph-nodes .graph-node-risk-high{fill:#ea580c}#graph[data-risk-overlay=true] .graph-nodes .graph-node-risk-severe{fill:#b91c1c}.transfer-links line{stroke-width:2.2;stroke-linecap:round;cursor:pointer}.transfer-component-bounds circle{fill:#be185d08;stroke:#be185d1f;stroke-width:1}.transfer-link-outgoing{stroke:#115e59}.transfer-link-incoming{stroke:#b45309}.transfer-link-bidirectional{stroke:#be185d;stroke-dasharray:6 4}.transfer-node{stroke:#f8f9f2f5;stroke-width:2;cursor:pointer}.transfer-node-root{fill:#0f766e}.transfer-node-outgoing{fill:#115e59}.transfer-node-incoming{fill:#b45309}.transfer-node-bidirectional{fill:#be185d}.transfer-node-scope{fill:#2563eb}.transfer-node-external{fill:#64748b}.transfer-labels text{font-size:12px;fill:#20303a;pointer-events:none}.transfer-label-root{font-size:13px;font-weight:700}.tree-guides line{stroke:#0f172014;stroke-dasharray:4 6}.tree-guide-labels text{font-size:12px;font-weight:700;fill:#20303aa6}.tree-links path{fill:none;stroke-width:2.5;stroke-linecap:round;cursor:pointer}.tree-link-depth-0{stroke:#0f766e}.tree-link-depth-1{stroke:#2563eb}.tree-link-depth-2{stroke:#d97706}.tree-link-depth-3{stroke:#0f17203d}.tree-node .tree-node-core{stroke:#f8f9f2f5;stroke-width:2}.tree-node-expandable-marker{fill:none;stroke:#0891b2cc;stroke-width:1.8;stroke-dasharray:3 2;pointer-events:none}.tree-node-virtual-marker{fill:#f59e0b1f;stroke:#b45309cc;stroke-width:1.5;stroke-dasharray:2 2;pointer-events:none}.tree-node-depth-0 .tree-node-core{fill:#0f766e}.tree-node-depth-1 .tree-node-core{fill:#2563eb}.tree-node-depth-2 .tree-node-core{fill:#d97706}.tree-node-depth-3 .tree-node-core{fill:#0f1720}.tree-node-repeated .tree-node-core{stroke:#be185d;stroke-width:2.5}.tree-node-cycle .tree-node-core{stroke:#92400e;stroke-dasharray:2 2}.tree-node text{font-size:13px;fill:#20303a}.tree-nodes g{cursor:pointer}.comparison-modal{width:min(56rem,calc(100vw - 3rem));max-height:calc(100vh - 3rem);padding:0;border:0;border-radius:1.25rem;background:#f8f9f2f5;box-shadow:0 24px 60px #0f172038}.comparison-modal::backdrop{background:#0f172057;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.comparison-modal-shell{padding:1.2rem}.comparison-modal-header{display:flex;align-items:start;justify-content:space-between;gap:1rem}.comparison-modal-kicker{margin:0;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#115e59}.comparison-modal-header h2{margin:.35rem 0 0;font-size:1.4rem}.comparison-modal-close{border:0;border-radius:999px;padding:.6rem .9rem;background:#0f172014;font-weight:700;cursor:pointer}.comparison-modal-content{margin-top:1rem;display:grid;gap:1rem}.info-modal{width:min(62rem,calc(100vw - 2.5rem))}.info-modal-shell{max-height:calc(100vh - 3rem);display:flex;flex-direction:column}.info-modal-content{overflow-y:auto;padding-right:.25rem}.comparison-hero{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:start;padding:1rem;border-radius:1rem;background:radial-gradient(circle at top left,rgb(15 118 110 / 12%),transparent 45%),#ffffffc7;border:1px solid rgb(15 23 32 / 6%)}.comparison-pair{margin:0;font-size:1.2rem;font-weight:800;color:#0f1720}.comparison-pair span{color:#52616f;font-weight:600}.comparison-summary{margin:.7rem 0 0;line-height:1.6;color:#31414d}.comparison-score-card{min-width:8rem;padding:.9rem 1rem;border-radius:1rem;text-align:center}.comparison-score-low{background:#0f766e1f;color:#115e59}.comparison-score-moderate{background:#d977061f;color:#92400e}.comparison-score-high{background:#ea580c24;color:#c2410c}.comparison-score-severe{background:#be185d24;color:#be185d}.comparison-score-value{font-size:2.2rem;font-weight:800;line-height:1}.comparison-score-band{margin-top:.25rem;font-size:.88rem;font-weight:700}.comparison-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0}.comparison-stats-grid div{padding:.9rem 1rem;border-radius:1rem;background:#ffffffb8;border:1px solid rgb(15 23 32 / 6%)}.comparison-stats-grid dt{margin:0 0 .3rem;font-size:.8rem;color:#52616f}.comparison-stats-grid dd{margin:0;font-size:1.25rem;font-weight:800}.comparison-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.comparison-section{padding:1rem;border-radius:1rem;background:#ffffffb8;border:1px solid rgb(15 23 32 / 6%)}.comparison-section h3{margin:0 0 .7rem;font-size:1rem}.comparison-section p,.comparison-section ul{margin:0;color:#31414d;line-height:1.6}.comparison-section ul{padding-left:1rem}.comparison-section li+li{margin-top:.35rem}@media(max-width:900px){.shell{grid-template-columns:1fr;grid-template-rows:minmax(18rem,24rem) 1fr}.sidebar{height:auto;border-right:0;border-bottom:1px solid rgb(15 23 32 / 8%)}#graph{height:100%}.search-results{max-height:none}.controls-panel{top:1rem;left:1rem;width:min(22rem,calc(100% - 2rem))}.comparison-hero,.comparison-sections,.comparison-stats-grid{grid-template-columns:1fr}}
