.data-model-summary { margin: 1.2rem 0; }
.data-model-summary img { display: block; width: 100%; max-width: 46rem; margin: auto; }
.data-model-summary .data-model-dark { display: none; }
[data-md-color-scheme="slate"] .data-model-summary .data-model-light { display: none; }
[data-md-color-scheme="slate"] .data-model-summary .data-model-dark { display: block; }
.data-diagram-viewer { border: 1px solid var(--md-default-fg-color--lightest); border-radius: .3rem; background: var(--md-default-bg-color); overflow: hidden; }
.data-diagram-toolbar { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; padding: .6rem; }
.data-diagram-toolbar label { width: 100%; font-weight: 600; }
.data-diagram-toolbar select { width: 100%; padding: .5rem; border: 1px solid var(--md-default-fg-color--lighter); border-radius: .2rem; color: var(--md-default-fg-color); background: var(--md-default-bg-color); font: inherit; }
.data-diagram-toolbar button { padding: .25rem .5rem; border: 1px solid var(--md-default-fg-color--lighter); border-radius: .2rem; cursor: pointer; font: inherit; }
.data-diagram-toolbar button:hover { background: var(--md-default-fg-color--lightest); }
.data-diagram-toolbar :focus-visible, .data-diagram-viewport:focus-visible { outline: 2px solid var(--md-accent-fg-color); outline-offset: -2px; }
.data-diagram-toolbar [role="status"] { font-size: .7rem; min-width: 3rem; }
.data-diagram-viewport { height: 620px; max-height: 70vh; overflow: auto; cursor: grab; overscroll-behavior: contain; background: var(--md-default-bg-color); }
.data-diagram-viewport:active { cursor: grabbing; }
.data-diagram-stage { flex-shrink: 0; margin-inline: auto; }
.data-diagram-stage svg { display: block; width: 100%; height: 100%; max-width: none; }
.data-diagram-stage text { font-family: Arial, sans-serif; }
.data-diagram-viewer:fullscreen { padding: 1rem; }
.data-diagram-viewer:fullscreen .data-diagram-viewport { height: calc(100vh - 180px); max-height: none; }
