:root{font-family:IBM Plex Sans,Segoe UI,sans-serif;color:#101521;background:#f1f4f8}*{box-sizing:border-box}body{margin:0}.layout{min-height:100vh;display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:1rem;padding:1rem}.layout.embed{min-height:auto;padding:0;gap:.5rem}.layout.embed .diagramSection,.layout.embed .detailsSection{border-radius:0}.diagramSection,.detailsSection{background:#fff;border:1px solid #d8deea;border-radius:14px;padding:.9rem}.sectionHeader h1{margin:0;font-size:1.35rem}.sectionHeader p{margin:.3rem 0 .8rem;color:#455167}.toolbar{display:grid;grid-template-columns:auto 1fr;gap:.45rem .6rem;align-items:center;margin-bottom:.7rem}.toolbar label,.searchRow label{font-size:.82rem;font-weight:600;color:#3f4d67}.toolbar select,.searchRow input{width:100%;border:1px solid #c0cadb;border-radius:8px;padding:.5rem .6rem;background:#fff}.diagramWrap{position:relative;width:100%}.diagramImage{width:100%;display:block;border-radius:8px}.hotspot{position:absolute;transform:translate(-50%,-50%);border:1px solid #0b4bcc;background:#fff;color:#0b4bcc;border-radius:999px;padding:.12rem .35rem;font-size:.65rem;line-height:1.2;cursor:pointer}.hotspot.active{background:#0b4bcc;color:#fff}.detailsSection{display:grid;grid-template-rows:auto auto minmax(220px,1fr);gap:.6rem}.searchRow{display:grid;gap:.35rem}.partCard{border:1px solid #d7dff0;border-radius:10px;background:#f9fbff;padding:.7rem}.partCardHeader{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.partCard h2{margin:0;font-size:1.1rem}.partCard p{margin:.4rem 0 .6rem}.partCard dl{display:grid;grid-template-columns:1fr;gap:.12rem;margin:0}.partCard dt{color:#526079;font-size:.75rem;font-weight:600}.partCard dd{margin:0 0 .3rem;font-size:.92rem}.partsList{overflow:auto;border:1px solid #d8deea;border-radius:10px;padding:.35rem;display:grid;gap:.3rem}.partRowWrap{display:grid;grid-template-columns:1fr;gap:.3rem;border-radius:8px}.partRowWrap.active{background:#eaf1ff}.partRow{width:100%;text-align:left;border:0;border-radius:8px;background:transparent;padding:.5rem;margin:0;display:grid;grid-template-columns:52px 1fr;gap:.5rem;cursor:pointer}.partRow strong{color:#0b4bcc}.partRow span{color:#23304a;font-size:.87rem}.emptyState{margin:0;padding:.7rem;border:1px dashed #d3daea;border-radius:10px;color:#596680}@media (max-width: 1100px){.layout{grid-template-columns:1fr}.detailsSection{grid-template-rows:auto auto minmax(180px,1fr)}}
