/* Layout only: never resize the coordinate system inside diagram maps. */
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { min-width:0; }
.mobile-library-bar { box-sizing:border-box; padding-left:max(8px,env(safe-area-inset-left)); padding-right:max(8px,env(safe-area-inset-right)); }
html body .mobile-library-bar a { flex:1 0 56px; }
html body .app .body, html body .app .workspace { min-height:0; min-width:0; }
html body .component-drawer { max-width:100%; max-height:calc(100dvh - 74px - env(safe-area-inset-bottom)); overflow-y:auto; }
html body .viewerbar { flex-wrap:wrap; gap:6px; }
html body .viewerbar > strong { min-width:0; overflow-wrap:anywhere; }
html body .filters > *, html body .controls > * { min-width:0; }
html body .pwa-install { font:inherit; min-height:44px; padding:8px 14px; border:1px solid var(--ui-border,#b8c5ce); border-radius:10px; background:var(--ui-surface,#fff); color:var(--ui-text,#18364f); cursor:pointer; }
html body .pwa-install[hidden] { display:none; }
@media(max-width:800px) {
 html body .library-tools, html body .guide-nav { flex-wrap:wrap; }
 html body .library-tools .search { min-width:0; max-width:100%; }
 html body .brand { min-width:0; }
 html body .brand strong, html body .brand small { overflow-wrap:anywhere; }
 html body .component-tabs { overflow-x:auto; flex-wrap:nowrap; }
 html body .component-tabs > * { flex-shrink:0; }
 html body .drawer-head { flex-wrap:wrap; }
}
@media(max-width:600px) {
 html body .app .toolbar { overflow-x:auto!important; }
 html body.clp-mobile[data-section="cockpit"] .app .body { grid-template-rows:minmax(120px,34%) minmax(0,1fr)!important; }
 html body .filters { flex-wrap:wrap; }
 html body .filters input { flex-basis:100%; }
 html body .facts { grid-template-columns:minmax(0,1fr); }
 html body .viewerbar > strong { flex-basis:100%; }
 html body .loc-canvas { height:55dvh; min-height:240px; }
 html body .library-tools .search { width:100%; }
}
@media(orientation:landscape) and (max-height:520px) {
 html body.clp-mobile .app { height:auto!important; min-height:calc(100dvh - 74px - env(safe-area-inset-bottom)); }
 html body.clp-mobile .app .body { min-height:280px; grid-template-columns:minmax(160px,28%) minmax(0,1fr)!important; grid-template-rows:minmax(280px,1fr)!important; }
 html body .component-drawer { top:env(safe-area-inset-top); }
}
.trial-notice{margin:8px 0 18px;padding:12px 16px;border:1px solid var(--ui-border,#c4d3da);border-radius:12px;background:var(--ui-surface,#fff);color:var(--ui-text,#18364f);font-size:14px;line-height:1.45}
