.szcwc { --szcwc-accent: #1d2327; --szcwc-accent-text: #fff; margin: 1em 0; }
.szcwc-chart { --szcwc-accent: #1d2327; --szcwc-accent-text: #fff; margin: 0 0 1.5em; }
.szcwc-chart__title { margin: 0 0 .5em; font-size: 1.15em; }
.szcwc-chart__figure { margin: 0 0 1em; }
.szcwc-chart .szcwc-chart__image { display: block; width: auto; max-width: 100%; height: auto; max-height: var(--szcwc-image-max-height, 420px); object-fit: contain; }
.szcwc-chart__scroll { overflow-x: auto; max-width: 100%; }
.szcwc-chart__scroll:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.szcwc-table { width: 100%; border-collapse: collapse; font-size: .95em; }
.szcwc .szcwc-table th, .szcwc .szcwc-table td { padding: .5em .75em; border: 1px solid rgba(0, 0, 0, .15); text-align: left; white-space: nowrap; }
.szcwc .szcwc-table thead th { background: var(--szcwc-accent); color: var(--szcwc-accent-text); }
.szcwc .szcwc-table tbody th { font-weight: 600; background: rgba(0, 0, 0, .04); }
.szcwc .szcwc-table tbody tr:nth-child(even) td { background: rgba(0, 0, 0, .02); }
.szcwc-chart__notes { margin-top: .75em; font-size: .9em; }
.szcwc-button { display: inline-flex; align-items: center; gap: .5em; padding: .55em 1em; border: 1px solid currentColor; border-radius: 4px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.szcwc-button:hover { background: rgba(0, 0, 0, .06); }
.szcwc-button--link { display: inline; padding: 0; border: 0; border-radius: 0; background: transparent; text-decoration: underline; text-underline-offset: .2em; }
.szcwc-button--link:hover { background: transparent; text-decoration-thickness: 2px; }
.szcwc-button:focus-visible, .szcwc-dialog__close:focus-visible, .szcwc-tabs__tab:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.szcwc--trigger { margin: 1em 0; }
.szcwc-dialog { width: min(52rem, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); max-height: calc(100dvh - 2rem); padding: 0; border: 0; border-radius: 8px; color: #1d2327; background: #fff; box-shadow: 0 12px 40px rgba(0, 0, 0, .35); }
.szcwc-dialog::backdrop { background: rgba(0, 0, 0, .55); }
.szcwc-dialog:not([open]) { display: none; }
.szcwc-dialog__panel { display: flex; flex-direction: column; max-height: calc(100vh - 2rem); max-height: calc(100dvh - 2rem); }
.szcwc-dialog .szcwc-chart .szcwc-chart__image { max-height: var(--szcwc-popup-image-max-height, 70vh); }
.szcwc-dialog__head { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 1em; padding: 1em 1.25em; border-bottom: 1px solid rgba(0, 0, 0, .12); }
.szcwc-dialog__title { margin: 0; font-size: 1.25em; }
.szcwc-dialog__close { margin-left: auto; width: 2.5em; height: 2.5em; border: 0; border-radius: 4px; background: transparent; color: inherit; font-size: 1.6em; line-height: 1; cursor: pointer; }
.szcwc-dialog__close:hover { background: rgba(0, 0, 0, .08); }
.szcwc-dialog__body { flex: 1 1 auto; min-height: 0; padding: 1.25em; overflow: auto; }
.szcwc-tabs__list { display: flex; flex-wrap: wrap; gap: .25em; margin-bottom: 1em; border-bottom: 1px solid rgba(0, 0, 0, .15); }
.szcwc-tabs__tab { padding: .5em 1em; border: 1px solid transparent; border-bottom: 0; border-radius: 4px 4px 0 0; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.szcwc-tabs__tab[aria-selected="true"] { border-color: rgba(0, 0, 0, .15); background: #fff; font-weight: 600; margin-bottom: -1px; }
body.szcwc-modal-open { overflow: hidden; }
.szcwc .screen-reader-text { border: 0; clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; white-space: nowrap; }
@media (prefers-reduced-motion: no-preference) { .szcwc-dialog[open] { animation: szcwc-in .15s ease-out; } }
@keyframes szcwc-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
