/* Map-first navigation. Supplementary content opens over the canvas. */
.app{min-height:0}
.top{height:68px;padding:0 24px;gap:24px}
.top .note{font-size:13px}
.top-nav{display:flex;align-items:center;gap:8px;margin-left:auto}
.top-nav .pill{margin:0;border:0;background:transparent;padding:9px 11px;color:#a8c5cf}
.top-nav .pill:hover{color:#effffc;background:#173745}
.site-more{position:relative;color:#a8c5cf;font-size:13px}
.site-more summary{cursor:pointer;padding:9px 11px;list-style:none;border-radius:7px}
.site-more summary::-webkit-details-marker{display:none}
.site-more summary:after{content:'⌄';margin-left:7px}
.site-more>div{position:absolute;right:0;top:42px;width:170px;padding:7px;z-index:15;background:#102b3b;border:1px solid #345463;border-radius:10px;box-shadow:0 12px 32px #0005}
.site-more a{display:block;padding:10px;color:#c3dce1;text-decoration:none;border-radius:6px}
.site-more a:hover{background:#214352}
.body,.body.all-map{display:block;position:relative;min-height:0}
.mapwrap{height:100%;top:0;min-height:0;background-size:28px 28px;background-image:radial-gradient(#233e4c .75px,transparent .75px)}
.maphead{left:24px;top:22px;right:24px;max-width:none}
.map-title-row{display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.maphead h1{font-size:23px;margin:0;letter-spacing:.02em}
.maphead .count{margin:0;font-size:12px;color:#83a5b3}
.maphead p{margin:8px 0 0;max-width:65em;font-size:13px}
.map-toolbar{position:absolute;top:95px;left:24px;z-index:4;display:flex;align-items:center;gap:9px;max-width:calc(100% - 48px)}
.explorer-toggle,.map-options>summary{border:1px solid #375b6c;border-radius:9px;background:#103141;color:#dceef0;padding:10px 13px;font-size:13px;white-space:nowrap;cursor:pointer;list-style:none}
.explorer-toggle{display:flex;align-items:center;gap:13px;min-height:72px;padding:13px 18px;background:#80ead2;border:1px solid #b8ffeb;border-radius:13px;color:#072d32;text-align:left;box-shadow:0 5px 20px #0005,0 0 0 4px #77e7cf12;transition:background .15s,box-shadow .15s}
.explorer-toggle:hover,.explorer-toggle[aria-expanded="true"]{background:#a5f7df;box-shadow:0 7px 24px #0006,0 0 0 4px #77e7cf2b}
.explorer-toggle:focus-visible{outline:3px solid #fff;outline-offset:4px}
.explorer-search-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#0b51451a;flex-shrink:0}
.explorer-search-icon svg{display:block;width:24px;height:24px;pointer-events:none;cursor:inherit;touch-action:auto}
.explorer-toggle-copy{display:grid;gap:4px;min-width:0}
.explorer-toggle-copy strong{font-size:18px;line-height:1.3;font-weight:800;letter-spacing:.02em}
.explorer-toggle-copy small{font-size:12px;line-height:1.5;color:#225d59;font-weight:500}
.explorer-toggle-arrow{font-size:23px;font-weight:600;margin-left:auto;padding-left:9px}
.back-overview{border:1px solid #375b6c;border-radius:9px;background:#103141;color:#bde2dc;padding:10px 12px;font-size:13px;white-space:nowrap}
.back-overview[hidden]{display:none}
.map-options>summary::-webkit-details-marker{display:none}
.map-options{position:relative}
.map-options .map-tools,.all-view .map-tools{position:absolute;top:46px;left:0;display:grid;min-width:140px;padding:9px;border:1px solid #365564;border-radius:10px;background:#102b3b;box-shadow:0 12px 30px #0005}
.map-tools button{white-space:nowrap;padding:9px;text-align:left}
.map-tools button[hidden]{display:none}
.map-tools #zoomLevel{padding:4px 9px}
.group-picker{position:static;display:flex;gap:8px;font-size:12px}
.group-picker select{max-width:250px;padding:10px 12px;border-color:#375b6c;background:#103141;font-size:13px;border-radius:9px}
.group-picker[hidden]{display:none}
.sidebar{position:absolute;z-index:8;left:14px;top:14px;bottom:14px;width:310px;height:auto;padding:20px;display:block;overflow:auto;background:#0c2332;border:1px solid #355262;border-radius:14px;box-shadow:0 18px 65px #0007;scrollbar-width:thin}
.sidebar[hidden]{display:none}
.explorer-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.explorer-heading h2{font-size:17px;margin:0;color:#edf9f8}
.panel-close{border:0;background:transparent;color:#a9cbd2;font-size:24px;line-height:1;width:36px;height:36px;border-radius:7px}
.panel-close:hover{background:#254654;color:white}
.sidebar .search{width:100%;min-height:50px;font-size:16px;padding:12px;border-radius:8px}
.search-results{position:relative;top:auto;left:auto;right:auto;max-height:250px}
.explorer-home{margin:20px 0;display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px;border:1px solid #3e6c70;border-radius:9px;background:#123740;color:#d5eee9;text-align:left}
.explorer-home.active{background:#19494b;border-color:#6ab6a8}
.explorer-home strong{font-size:15px}
.explorer-home small{font-size:11px;color:#9cc9c4}
.scope-label{display:block;margin:20px 0 9px;color:#8eb2bf;font-size:12px}
.sidebar #mobileScope{display:block;width:100%;height:auto;padding:11px;font-size:13px;background:#102e3e}
.explorer-section{margin-top:18px;border-top:1px solid #294653;padding-top:5px}
.explorer-section>summary{cursor:pointer;padding:14px 0;font-size:13px;color:#bbd7de}
.sidebar .filters{display:grid;gap:4px}
.scope-group-label{margin:15px 0 7px;font-size:11px}
.filter{font-size:13px;padding:9px 7px;line-height:1.5}
.sidebar .applications{display:grid;grid-template-columns:1fr;gap:3px;overflow:visible;padding:0}
.sidebar .application-card{padding:10px 5px;background:none;border:0;border-radius:5px;min-width:0;text-align:left;white-space:normal}
.sidebar .application-card:hover{background:#183d4d}
.sidebar .application-card .app-full{display:inline;color:#c6dbe5}
.sidebar .application-card .app-short,.sidebar .application-card .app-tag,.sidebar .application-card small{display:none}
.sidebar .application-card strong{font-size:13px}
.explorer-footer{margin-top:24px;padding-top:16px;border-top:1px solid #294653}
.explorer-footer p{font-size:11px;line-height:1.7;color:#769aa9;margin:0 0 7px}
.explorer-footer a{font-size:12px;color:#94cbbf;text-decoration:none;display:inline-block;margin:6px 12px 0 0}
.details,.all-map>.details{position:absolute;z-index:7;right:14px;top:14px;bottom:14px;width:min(350px,calc(100% - 28px));border:1px solid #355262;border-radius:14px;padding:22px;background:#0c2332;box-shadow:0 18px 65px #0006}
.details.closed,.all-map>.details.closed{display:none}
.details .close,.all-map>.details .close{display:block!important}
.details h2{font-size:25px;line-height:1.35}
.details .intro{font-size:14px}
.detail-section{margin:20px 0 0;border-top:1px solid #2c4b59;padding-top:4px}
.detail-section>summary{padding:14px 0;color:#c9e4e7;cursor:pointer;font-size:14px;font-weight:600}
.detail-section .vendors{margin:8px 0}
.detail-section .vendor-heading{display:none}
.details .article-link{display:inline-block;width:auto;background:transparent;border:0;padding:5px 0;margin:5px 0 12px;color:#92d8cf;font-size:13px}
.details>.feedback-link{display:block;margin:0 0 18px;font-size:12px}
.map-help{position:absolute;z-index:4;left:24px;bottom:20px;max-width:min(430px,calc(100% - 95px));border:1px solid #345261;border-radius:9px;background:#0c2636ed;color:#a4c1cc}
.map-help>summary{padding:10px 13px;cursor:pointer;font-size:12px}
.map-help .legend{position:static;margin:0;padding:8px 13px;max-width:none;border:0;background:none;font-size:11px;gap:12px}
.map-help p{font-size:12px;line-height:1.8;padding:0 13px 12px;margin:0;color:#8faeba}
.zoom{right:20px;bottom:20px}
.zoom button{width:36px;height:36px;border-color:#365666;background:#103040}
button:focus-visible,summary:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #89e7d8;outline-offset:3px}
@media(max-width:850px){.top .note{display:none}}
@media(max-width:700px){
 .top{height:62px;min-height:62px;padding:0 14px;gap:8px;flex-wrap:nowrap}.brand-logo{width:36px;height:36px}.brand{gap:8px;font-size:16px}.brand-tagline{font-size:8px}
 .top-nav{gap:0;width:auto;margin-left:auto}.top-nav>.pill{display:none}.site-more summary{font-size:12px;padding:8px}.site-more>div{top:36px}.site-more .mobile-nav-link{display:block}
 .body{display:block}.mapwrap{height:100%}.maphead{left:16px;right:16px;top:18px}.maphead h1{font-size:21px}.map-title-row{display:block}.maphead .count{display:block;font-size:10px;margin:6px 0 0}.maphead p{display:none}
 .map-toolbar{top:86px;left:14px;max-width:calc(100% - 28px);gap:6px}.explorer-toggle{font-size:12px;padding:10px}.group-picker{gap:0}.group-picker>span{display:none}.group-picker select{max-width:165px;font-size:12px;padding:10px 6px}.map-options>summary{padding:10px 8px;font-size:12px}.map-options .map-tools{left:auto;right:0;top:44px}
 .sidebar{left:10px;right:10px;top:10px;bottom:10px;width:auto;max-width:340px;padding:18px}.sidebar .search{width:100%}.sidebar .filters{display:grid}.sidebar .directory-scope{display:block}
 .details,.all-map>.details{left:10px;right:10px;top:10px;bottom:10px;width:auto;max-width:370px;margin-left:auto;padding:20px}
 .map-help{left:14px;bottom:16px;max-width:calc(100% - 80px)}.zoom{right:14px;bottom:16px}
}
@media(min-width:701px){.site-more .mobile-nav-link{display:none}}
.language-switch{display:inline-flex;align-items:center;padding:8px 10px;border:1px solid #3b6372;border-radius:7px;color:#c3eee4;font-size:12px;text-decoration:none;white-space:nowrap}
.guide-language{display:inline-block;margin:8px 12px 18px 0;color:#a9e4d7;font-size:13px;text-underline-offset:4px}
html[lang="en"] .brand{letter-spacing:0;font-size:19px}
html[lang="en"] .brand-tagline{letter-spacing:.08em}
html[lang="en"] .node .sub{font-size:12px}
html[lang="en"] .maphead h1{max-width:100%;overflow-wrap:anywhere}
html[lang="en"] .site-more>div{width:200px}
html[lang="en"] .vendor-country{max-width:120px}
@media(max-width:700px){.language-switch{padding:7px;font-size:11px}html[lang="en"] .brand{font-size:15px}html[lang="en"] .brand-tagline{display:none}html[lang="en"] .maphead h1{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html[lang="en"] .group-picker select{max-width:160px}.map-toolbar{max-width:calc(100% - 28px)}.group-picker{min-width:0;flex:1}.group-picker select{min-width:0;width:100%}}
@media(max-width:700px){
 .map-toolbar{width:calc(100% - 28px);flex-wrap:wrap;gap:10px 8px}
 .explorer-toggle{flex:0 0 100%;width:100%;min-height:68px;padding:12px 14px;gap:12px;white-space:normal}
 .explorer-toggle-copy strong{font-size:17px}.explorer-toggle-copy small{font-size:12px}.explorer-search-icon{width:36px;height:36px}.explorer-toggle-arrow{padding-left:0}
 .group-picker select,html[lang="en"] .group-picker select{max-width:100%;min-height:44px;font-size:13px;padding:10px}
 .back-overview,.map-options>summary{min-height:44px;padding:11px 13px;font-size:13px}
 .map-options{margin-left:auto}.map-options .map-tools{top:49px}
 html[lang="en"] .explorer-toggle-copy small{font-size:11px}
 .details,.all-map>.details{top:auto;bottom:10px;height:44%;max-height:370px;max-width:none;padding:17px 18px;border-color:#548d91;box-shadow:0 -8px 30px #0006;overscroll-behavior:contain}
 .details .close{position:sticky;top:0;min-width:40px;min-height:40px;background:#123340;border:1px solid #426a76;border-radius:8px;z-index:1}
 .details h2{font-size:22px;padding-right:45px;line-height:1.4}
}

/* At overview scale the colored silhouette conveys density without tiny text. */
.node.node-simple rect{fill:var(--c);fill-opacity:.55;stroke:var(--c);stroke-width:2}
.node.node-simple:hover rect,.node.node-simple:focus rect{fill-opacity:.9;stroke:#d4fff3;stroke-width:5}

/* A small system overview opens progressively into the sourced graph. */
.app,.body,.mapwrap,.map-chrome{min-width:0;max-width:100%}
.app{grid-template-columns:minmax(0,1fr)}
.mapwrap{display:flex;flex-direction:column;isolation:isolate}
.map-chrome{position:relative;z-index:4;flex:0 0 auto;padding:15px 24px 14px;background:linear-gradient(#071927 88%,#071927e8);max-height:48%;overflow:auto;scrollbar-width:thin}
.maphead{position:static;max-width:none;pointer-events:auto;margin:12px 0}
.maphead h1{font-size:23px;line-height:1.35}
.maphead .count{font-size:13px}.maphead p{font-size:14px;line-height:1.5}
.map-toolbar{position:relative;inset:auto;max-width:none;width:auto;flex-wrap:wrap;gap:9px}
.explorer-toggle{min-height:46px;padding:9px 13px;gap:9px;box-shadow:none;flex:0 1 auto;width:auto}
.explorer-search-icon{width:25px;height:25px}.explorer-search-icon svg{width:21px;height:21px}
.explorer-toggle-copy strong{font-size:15px}.explorer-toggle-copy small,.explorer-toggle-arrow{display:none}
.back-overview,.map-options>summary,.group-picker select{font-size:14px;min-height:44px}
.map-options{margin-left:0}.map-options .map-tools{position:fixed;top:auto;left:auto;z-index:12}
.navigation-context{display:flex;align-items:center;gap:12px;min-height:32px}
#navigatorBack{flex-shrink:0;padding:7px 10px;border:1px solid #365b6b;background:#102e3e;border-radius:7px;color:#c5e4e1;font-size:14px;cursor:pointer}
#navigatorBack[hidden]{display:none}
#mapBreadcrumbs{display:flex;align-items:center;gap:9px;overflow-x:auto;white-space:nowrap;font-size:14px;min-width:0;scrollbar-width:thin;padding-bottom:3px}
#mapBreadcrumbs button{border:0;background:none;padding:6px 0;color:#8edbd0;font-size:inherit;cursor:pointer}
#mapBreadcrumbs>span{color:#94b2c1}#mapBreadcrumbs [aria-current]{color:#d9eaea}
.mapwrap>#map{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.navigator{position:relative;z-index:1;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:12px 24px 36px;scrollbar-width:thin}
.navigator[hidden]{display:none}
.navigator-open>#map,.navigator-open>.zoom,.navigator-open>.map-help,.navigator-open #groupPicker,.navigator-open #allNodes,.navigator-open #mapOptions{display:none}
.system-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:1380px;margin:0 auto}
.system-card{position:relative;min-width:0;text-align:left;padding:22px 20px;border:1px solid #365567;border-top:3px solid var(--system-color);border-radius:12px;background:#102c3b;color:#e8f4f4;cursor:pointer;transition:background .15s,border-color .15s}
.system-card:hover,.system-card:focus-visible{background:#183e4e;border-color:var(--system-color)}
.system-number{display:block;color:var(--system-color);font-size:13px;font-weight:700;letter-spacing:.12em;margin-bottom:13px}
.system-card strong{display:block;font-size:20px;line-height:1.4}.system-card p{color:#acc6d0;font-size:15px;line-height:1.7;margin:10px 0 18px}.system-card small{color:var(--system-color);font-size:13px}
.panorama-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;max-width:1380px;margin:20px auto 0;font-size:14px;color:#9bb9c5}
.panorama-footer p{margin:0;line-height:1.7}
.panorama-footer button,.system-cross button{padding:10px 13px;border:1px solid #3c6373;background:#123342;color:#bde8df;border-radius:8px;cursor:pointer;font-size:14px}
.topic-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;max-width:1380px;margin:auto}
.topic-card{min-width:0;border:1px solid #365567;border-top:3px solid var(--system-color);border-radius:12px;background:#102c3b;padding:20px}
.topic-main{display:block;border:0;background:none;text-align:left;padding:0;color:#edf8f5;font-size:20px;font-weight:700;line-height:1.45;cursor:pointer}
.topic-main:hover{color:var(--system-color);text-decoration:underline;text-underline-offset:4px}
.topic-card>p{font-size:15px;color:#abc6cf;line-height:1.7}.topic-card>small{font-size:13px;color:#8bb4c3}
.topic-branches{border-top:1px solid #335161;margin-top:17px;padding-top:7px}.topic-branches>summary{cursor:pointer;padding:10px 0;color:#addbd4;font-size:14px}
.topic-branches button{display:block;width:100%;text-align:left;padding:10px 0;background:none;border:0;border-bottom:1px solid #294756;color:#c5dce1;font-size:14px;line-height:1.5;cursor:pointer}
.system-cross{display:flex;gap:10px;align-items:center;flex-wrap:wrap;max-width:1380px;margin:22px auto;color:#9dbbc7;font-size:14px}.system-cross>span{margin-right:5px}
.nav-system-tree,.nav-tree{border-top:1px solid #294856;padding:4px 0}
.nav-system-tree>summary,.nav-tree>summary{cursor:pointer;font-size:14px;line-height:1.6;padding:10px 0;color:#cee5e7}
.nav-system-tree>button,.nav-tree>button{display:block;width:100%;text-align:left;background:none;border:0;color:#a9c5d0;font-size:14px;line-height:1.6;padding:9px 6px;cursor:pointer}
.nav-system-tree>button:hover,.nav-tree>button:hover,.topic-branches button:hover{color:#a1f1df;background:#173948}
.nav-tree{margin-left:10px;padding-left:10px;border-left:1px solid #315362}.nav-tree .nav-tree-overview{color:#7fe1ce}
.sidebar #mobileScope,.scope-label,.explorer-section>summary{font-size:14px}
.related-maps{margin-top:10px}.related-maps>summary{font-size:14px;color:#a7c8d3;padding:9px 0;cursor:pointer}.related-maps p{font-size:13px;color:#8faebd;margin:15px 0 5px}
.map-view-switcher button.recommended-map{background:#184f53;border-color:#75bbae;color:#e4fff7;font-size:15px}
.relation-group{border-top:1px solid #294956;margin-top:9px}.relation-group>summary{font-size:14px;padding:12px 0;cursor:pointer;color:#c1dce0}
button:focus-visible,summary:focus-visible{outline:2px solid #9decd8;outline-offset:3px}
@media(max-width:1100px){.system-cards,.topic-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 .map-chrome{padding:10px 14px 12px;max-height:50%}.navigation-context{gap:8px}#navigatorBack{font-size:13px;padding:7px}#mapBreadcrumbs{font-size:13px;gap:7px}
 .maphead{margin:10px 0}.maphead h1,html[lang="en"] .maphead h1{font-size:20px;white-space:normal;line-height:1.35;overflow:visible}.maphead .count{font-size:12px}.maphead p{display:none}
 .map-toolbar{gap:7px}.explorer-toggle{min-height:44px;padding:9px 10px;flex:0 1 auto;width:auto}.explorer-toggle-copy strong{font-size:14px}.back-overview,.map-options>summary{font-size:13px;padding:10px}
 .group-picker{flex:1 1 130px}.group-picker select,html[lang="en"] .group-picker select{font-size:13px}
 .navigator{padding:8px 14px 28px}.system-cards,.topic-cards{grid-template-columns:1fr;gap:11px}.system-card{padding:17px 18px}.system-number{margin-bottom:8px}.system-card strong,.topic-main{font-size:19px}.system-card p{margin:8px 0 12px}.topic-card{padding:18px}
 .panorama-footer{align-items:flex-start}.panorama-footer button{width:100%;text-align:left}.system-cross{align-items:stretch}.system-cross>span{width:100%}
}

.map-help .map-disclaimer a{color:#b5eadf;text-decoration:underline;text-underline-offset:3px}

/* Comparable specifications remain scrollable within narrow reading panels. */
.industry-spec-section{min-width:0;max-width:100%;margin:1.5rem 0}
.industry-spec-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid #cbd5d0;border-radius:10px}
.industry-spec-wrap:focus-visible{outline:2px solid #28756a;outline-offset:3px}
.industry-spec-table{width:100%;min-width:760px;border-collapse:collapse;font-size:14px;line-height:1.65;text-align:left}
.industry-spec-table caption{text-align:left;font-weight:700;padding:14px 16px;caption-side:top}
.industry-spec-table th,.industry-spec-table td{padding:12px 14px;vertical-align:top;border-top:1px solid #cbd5d0;min-width:85px;overflow-wrap:anywhere}
.industry-spec-table thead th{background:rgba(114,203,184,.12)}
.industry-spec-table th[scope="row"]{font-weight:600;min-width:120px}
.industry-spec-table td:last-child{min-width:145px;font-size:12px}
.industry-spec-table a{text-decoration:underline;text-underline-offset:3px}
.industry-spec-note{font-size:13px;line-height:1.75;opacity:.85;margin-top:12px}
