/* Semantic diagrams v1; scoped to converted components. */
.semantic-diagram{--dg-accent:#55c6bd;--dg-edge:rgba(115,168,185,.32);margin:1.8rem 0;padding:clamp(.85rem,2vw,1.5rem);border:1px solid var(--dg-edge);border-radius:18px;background:rgba(91,141,160,.07);color:inherit;line-height:1.55;min-width:0;overflow-wrap:anywhere}
.semantic-diagram *{box-sizing:border-box;min-width:0}
.semantic-diagram .dg-title{font-size:1.18rem;font-weight:750;margin:0 0 1.1rem;color:inherit;letter-spacing:.01em}
.semantic-diagram .dg-subtitle{font-size:1rem;font-weight:700;margin:1.2rem 0 .6rem}
.semantic-diagram p{margin:.65rem 0}
.semantic-diagram .dg-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:.75rem;margin:.7rem 0;padding:0;list-style:none}
.semantic-diagram .dg-card{padding:.9rem 1rem;background:rgba(107,159,178,.09);border:1px solid var(--dg-edge);border-top:3px solid var(--dg-accent);border-radius:10px}
.semantic-diagram .dg-card-title{display:block;font-weight:750;margin-bottom:.4rem}
.semantic-diagram .dg-card p{margin:.25rem 0;font-size:.95em}
.semantic-diagram .dg-steps{counter-reset:diagram-step;list-style:none;margin:.8rem 0;padding:0;display:grid;gap:.65rem}
.semantic-diagram .dg-steps>.dg-card{counter-increment:diagram-step;position:relative;padding-left:3.4rem;border-top:1px solid var(--dg-edge);border-left:3px solid var(--dg-accent)}
.semantic-diagram .dg-steps>.dg-card:before{content:counter(diagram-step);position:absolute;top:.85rem;left:.8rem;border-radius:50%;width:1.7rem;height:1.7rem;background:var(--dg-accent);color:#102b33;display:grid;place-items:center;font-weight:800}
.semantic-diagram .dg-relations{list-style:none;margin:.8rem 0;padding:0;display:grid;gap:.7rem}
.semantic-diagram .dg-relation{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,1.1fr) minmax(0,1fr);align-items:center;gap:.6rem;padding:.8rem;border:1px solid var(--dg-edge);border-radius:10px}
.semantic-diagram .dg-end{font-weight:700}
.semantic-diagram .dg-link{font-size:.9em;text-align:center;padding:.35rem;border-bottom:2px solid var(--dg-accent)}
.semantic-diagram .dg-table-wrap{max-width:100%;overflow-x:auto;margin:.8rem 0;border:1px solid var(--dg-edge);border-radius:10px;overscroll-behavior-inline:contain}
.semantic-diagram table{width:100%;border-collapse:collapse;table-layout:auto;margin:0;font-size:.94em;min-width:0!important}
.semantic-diagram th,.semantic-diagram td{white-space:normal!important;overflow-wrap:anywhere;padding:.7rem .8rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--dg-edge);min-width:0!important}
.semantic-diagram th{background:rgba(91,141,160,.15);font-weight:750}
.semantic-diagram caption{text-align:left;padding:.7rem .8rem;font-weight:700}
.semantic-diagram .dg-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);margin:.7rem 0}
.semantic-diagram dt,.semantic-diagram dd{padding:.6rem;border-bottom:1px solid var(--dg-edge);margin:0}
.semantic-diagram dt{font-weight:700}
.semantic-diagram .dg-example{padding:.8rem 1rem;border-left:3px solid var(--dg-accent);background:rgba(91,141,160,.07);font-family:inherit}
.semantic-diagram .dg-example p{margin:.3rem 0;white-space:normal}
@media(max-width:540px){.semantic-diagram{padding:.8rem;border-radius:12px}.semantic-diagram .dg-cards{grid-template-columns:1fr}.semantic-diagram .dg-relation{grid-template-columns:1fr;gap:.35rem}.semantic-diagram .dg-link{text-align:left;border-bottom:0;border-left:2px solid var(--dg-accent);padding-left:.7rem}.semantic-diagram th,.semantic-diagram td{padding:.5rem}.semantic-diagram .dg-facts{grid-template-columns:1fr}.semantic-diagram dd{padding-top:0}.semantic-diagram dt{border-bottom:0;padding-bottom:.2rem}}
@media print{.semantic-diagram{break-inside:avoid;background:transparent;border-color:#888}.semantic-diagram .dg-card{background:transparent}.semantic-diagram .dg-table-wrap{overflow:visible}.semantic-diagram .dg-steps>.dg-card:before{background:#eee;color:#000}}

.semantic-diagram table.dg-symbol-table th:first-child,.semantic-diagram table.dg-symbol-table td:first-child{white-space:nowrap!important;width:4em;overflow-wrap:normal}
