/* Compact expanding navigation. Hover is an overlay, so it never shifts the map. */
@media(min-width:601px){
 .workspace{grid-template-columns:76px minmax(0,1fr)}
 .sidebar{width:76px;padding:20px 10px 12px;z-index:90;overflow:hidden;transition:width .22s ease,box-shadow .22s ease}
 .sidebar:hover,.sidebar:has(:focus-visible),.bp-menu-pinned .sidebar{width:260px;box-shadow:12px 0 28px #0002}
 .bp-menu-pinned .workspace{grid-template-columns:260px minmax(0,1fr)}
 .sidebar .nav-item{grid-template-columns:22px 1fr auto;white-space:nowrap;min-width:56px}
 .sidebar .nav-item span,.sidebar .nav-item b,.sidebar-label,.sidebar-foot div,.bp-sidebar-pin span{display:block;opacity:0;visibility:hidden;transition:opacity .14s;white-space:nowrap}
 .sidebar-label{height:24px;overflow:hidden}
 .sidebar:hover .nav-item span,.sidebar:has(:focus-visible) .nav-item span,.bp-menu-pinned .nav-item span,
 .sidebar:hover .nav-item b,.sidebar:has(:focus-visible) .nav-item b,.bp-menu-pinned .nav-item b,
 .sidebar:hover .sidebar-label,.sidebar:has(:focus-visible) .sidebar-label,.bp-menu-pinned .sidebar-label,
 .sidebar:hover .sidebar-foot div,.sidebar:has(:focus-visible) .sidebar-foot div,.bp-menu-pinned .sidebar-foot div,
 .sidebar:hover .bp-sidebar-pin span,.sidebar:has(:focus-visible) .bp-sidebar-pin span,.bp-menu-pinned .bp-sidebar-pin span{opacity:1;visibility:visible}
 .bp-map-open .content{padding:0;overflow:hidden}
 .bp-map-open #page-map{height:calc(100dvh - 76px);min-height:300px;display:flex;flex-direction:column;animation:none}
}
.bp-sidebar-pin{display:flex;align-items:center;gap:16px;padding:14px 18px;background:transparent;color:#c4beb6;text-align:left;white-space:nowrap;border-top:1px solid #ffffff14;font-size:11px}
.bp-sidebar-pin[aria-pressed=true]{color:#ff6d35}.bp-sidebar-pin:hover{color:#fff}
.bp-map-toolbar{flex-shrink:0;height:62px;margin:0;padding:10px 18px;background:#fff;border-bottom:1px solid var(--line);gap:8px;flex-wrap:nowrap;position:relative;z-index:4}
.bp-map-toolbar .secondary-button{padding:9px 12px;min-height:36px;font-size:11px;white-space:nowrap}.bp-map-toolbar button[aria-pressed=true]{border-color:var(--orange);color:var(--orange)}
.bp-map-toolbar-spacer{flex:1}.bp-map-toolbar .bp-map-status-note{display:flex;align-items:center;gap:6px;font-size:10px;white-space:nowrap}.bp-map-toolbar output{width:42px;font-family:var(--mono);font-size:10px;text-align:center}
.bp-level-picker{position:relative;white-space:nowrap;font-size:11px}.bp-level-picker summary{padding:10px 12px;border:1px solid var(--line);border-radius:8px;cursor:pointer;background:#fff;list-style:none}.bp-level-picker summary:after{content:'⌄';margin-left:12px}.bp-level-picker[open] summary{color:var(--orange)}
.bp-level-picker>div{position:absolute;top:calc(100% + 6px);left:0;background:#fff;border:1px solid var(--line);box-shadow:0 10px 35px #0002;border-radius:12px;padding:10px;min-width:190px}.bp-level-picker label{display:flex;align-items:center;gap:8px;padding:10px;font-size:12px;cursor:pointer}.bp-level-picker input{width:15px;height:15px;accent-color:var(--orange)}
.bp-map-workspace{display:flex;flex:1;min-height:0!important;height:auto!important;gap:0;overflow:hidden}
.bp-map-nav{display:none;width:310px;flex:0 0 310px;border:0;border-right:1px solid var(--line);border-radius:0;min-height:0;overflow:hidden}
.navigator-open .bp-map-nav{display:flex;flex-direction:column}.bp-map-nav>input{flex-shrink:0}.bp-map-nav .architecture-navigator-scroll{min-height:0;flex:1;height:auto;overflow:auto;padding:10px}.bp-map-nav .architecture-node-status.bp-map-dot{background:#a5a5a5;box-shadow:none;width:8px;height:8px}
.bp-map-viewport{flex:1;position:relative;border:0;border-radius:0;background-color:#f2efea;background-image:linear-gradient(#79726812 1px,transparent 1px),linear-gradient(90deg,#79726812 1px,transparent 1px),radial-gradient(ellipse at 30% 20%,#eee7df88,transparent 65%);background-size:32px 32px,32px 32px,100% 100%;overflow:auto;scrollbar-width:thin;scrollbar-color:#bcb5ad #f2efea;cursor:default;isolation:isolate}
.bp-map-viewport.dragging{cursor:grabbing}.bp-map-surface{transform-origin:0 0}.bp-map-surface svg{z-index:1}
.bp-map-card{padding:0;border:1px solid #ddd8d2;border-left:4px solid var(--direction-color);border-radius:12px;background:#fff;box-shadow:0 2px 5px #302d2910;z-index:2;transition:opacity .16s,box-shadow .16s,border-color .16s;cursor:pointer;font:inherit}
.bp-map-card.focused{outline:2px solid #ff4b0a;outline-offset:0;box-shadow:0 6px 28px #ff4b0a28}
.bp-map-card.muted{opacity:.16}.bp-map-node-main{display:block;width:100%;height:100%;padding:10px 28px 10px 11px;background:transparent;text-align:left;color:var(--ink);overflow:hidden}
.bp-map-node-main>b{display:block;font-family:var(--mono);font-size:14px;font-weight:700;line-height:1.2;letter-spacing:.4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bp-map-node-main strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:5px;font-size:12px;line-height:1.2;overflow-wrap:normal;font-weight:600}
.bp-map-card .bp-map-node-main small{display:block;color:#8b847c;font:9px/1.2 var(--mono);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0}
.bp-map-card .bp-map-dot{right:10px;top:11px;width:9px;height:9px;background:#a5a5a5;border:2px solid #eee;box-sizing:content-box}
.bp-map-node-passport{position:absolute;right:5px;bottom:5px;width:22px;height:22px;border-radius:5px;font-size:15px;background:#f3f0ec;color:#777;opacity:0;transition:opacity .12s}.bp-map-card:hover .bp-map-node-passport,.bp-map-card:focus-within .bp-map-node-passport,.bp-map-card.focused .bp-map-node-passport{opacity:1}.bp-map-node-passport:hover{color:var(--orange)}
.bp-map-edge{stroke:#928d87;stroke-width:1.5;transition:opacity .16s;fill:none}.bp-map-edge.outgoing{stroke:#ff4b0a;stroke-width:2.7}.bp-map-edge.incoming{stroke:#5e5a55;stroke-width:2.3}.bp-map-edge.muted{opacity:.1}.bp-map-row-label{font:10px var(--mono);color:#aaa196;letter-spacing:2px;text-transform:uppercase}
.bp-map-help{position:fixed;bottom:16px;right:20px;z-index:3;padding:10px 15px;border-radius:10px;background:#302d29ed;color:#ddd7d0;box-shadow:0 4px 20px #0002;font:9px var(--mono);pointer-events:none}
.bp-terms{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 24px;align-items:stretch}
.bp-terms article{position:relative;padding:17px 20px;overflow:hidden;background-color:#302d29;background-image:repeating-linear-gradient(135deg,transparent,transparent 6px,#ffffff03 6px,#ffffff03 7px),radial-gradient(ellipse at top right,#ffffff0b,transparent 65%);color:#fff;border:1px solid #3f3a34;border-radius:12px}
.bp-terms article.bp-term-2{grid-column:3;grid-row:1 / span 2}.bp-terms article.bp-term-3{grid-column:1 / span 2}.bp-terms h3{position:relative;color:#fff;font-size:17px;line-height:1.25;margin:0 20px 9px 0}.bp-terms p{position:relative;color:#d4cec5;font-size:12px;line-height:1.5;margin:0}.bp-term-number{position:absolute;right:12px;top:10px;color:#ffffff18;font:24px var(--mono)}
.bp-role-browser{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}.bp-role-browser-head h2{font-size:28px;margin:8px 0}.bp-role-browser-head>small{color:#8f8981;font:10px var(--mono)}
.bp-role-workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;height:540px;margin-top:18px;min-height:0}
.bp-role-sidebar{display:flex;flex-direction:column;min-height:0;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.bp-role-sidebar .search-box{margin:12px;flex:0 0 44px;min-height:44px;min-width:0;width:auto}.bp-role-list{display:flex;flex-direction:column;margin:0;gap:0;overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#b8b0a7 #fff}
.bp-role-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;background:#fff;padding:13px;border-top:1px solid #ede8e2;text-align:left;flex-shrink:0}.bp-role-item strong{font-size:12px;line-height:1.4}.bp-role-item>small{font:9px var(--mono);background:#eeebe7;border-radius:4px;padding:3px 5px;white-space:nowrap;color:#777}.bp-role-item:hover,.bp-role-item.selected{background:linear-gradient(90deg,#fff0e8,#fffaf6)}.bp-role-item.selected{box-shadow:inset 3px 0 var(--orange)}
.bp-role-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:var(--ink);color:#fff;font-size:12px;font-weight:700;flex-shrink:0}.selected .bp-role-avatar,.bp-role-detail .bp-role-avatar{background:var(--orange)}
.bp-role-detail{border:1px solid var(--line);border-radius:14px;background:#fff;padding:24px 28px;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.bp-role-detail header{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding-bottom:20px;flex-shrink:0}.bp-role-detail header>div{min-width:0}.bp-role-detail header .bp-role-avatar{width:58px;height:58px;font-size:20px;border-radius:12px}.bp-role-detail h3{font-size:24px;line-height:1.2;margin:0}.bp-role-detail header p{color:#91897f;font-size:11px;margin:8px 0 0;overflow-wrap:anywhere}
.bp-role-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0;flex-shrink:0}.bp-role-totals>div{border:1px solid var(--line);border-radius:10px;padding:12px}.bp-role-totals b{display:block;font-size:30px;line-height:1.1}.bp-role-totals>div:nth-child(2) b{color:var(--orange)}.bp-role-totals small{display:block;font:8px var(--mono);letter-spacing:.6px;margin-top:7px;color:#91897f;text-transform:uppercase}
.bp-role-processes{overflow:auto;min-height:0;margin-top:12px;scrollbar-width:thin}.bp-role-processes button{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:10px;width:100%;padding:13px 8px;background:#fff;text-align:left;border-bottom:1px solid #ede8e2;align-items:center;font-size:12px}.bp-role-processes button:hover{background:#fff5ee}.bp-role-processes code{font:10px var(--mono);color:#777}.bp-role-processes small{background:#eeebe7;color:#777;padding:4px 6px;border-radius:4px;font:8px var(--mono);text-transform:uppercase}
.bp-catalog-panel #directoryMetrics .systems-toolbar{justify-content:flex-start;width:100%}.bp-catalog-panel #directoryMetrics .systems-toolbar>div{width:100%;min-width:0}.bp-catalog-panel #directoryMetrics .form-intro{max-width:none}.bp-catalog-panel .directory-tabs{flex-wrap:wrap}
@media(max-width:1100px){.bp-map-status-note{display:none!important}.bp-map-toolbar{padding:8px;gap:5px}.bp-map-toolbar .secondary-button{padding:8px;font-size:10px}.bp-terms{grid-template-columns:1fr 1fr}.bp-terms article.bp-term-2,.bp-terms article.bp-term-3{grid-column:auto;grid-row:auto}.bp-role-workspace{grid-template-columns:270px minmax(0,1fr)}.bp-role-detail{padding:20px}.bp-role-detail h3{font-size:20px}}
@media(max-width:600px){.bp-sidebar-pin{display:none}.bp-map-open .content{padding:0}.bp-map-open #page-map{height:calc(100dvh - 138px);display:flex;flex-direction:column}.bp-map-toolbar{height:auto;flex-wrap:wrap}.bp-map-workspace{position:relative}.bp-map-nav{position:absolute;inset:0 auto 0 0;z-index:5;width:280px;box-shadow:10px 0 25px #0002}.bp-map-viewport{height:auto!important;min-height:0}.bp-map-help{display:none}.bp-terms{grid-template-columns:1fr}.bp-role-workspace{grid-template-columns:1fr;height:auto}.bp-role-sidebar{height:280px}.bp-role-detail{height:480px}.bp-role-totals{gap:5px}.bp-role-totals>div{padding:8px}.bp-role-processes button{grid-template-columns:60px 1fr}.bp-role-processes small{grid-column:2}}
