html, body { min-height: 100%; margin: 0; background: var(--ecf-color-bg); }
body { color: var(--ecf-color-ink); }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.ecf { min-height: 100vh; }
.ecf-skip { position: absolute; top: var(--ecf-space-2); left: var(--ecf-space-4); z-index: 10; padding: var(--ecf-space-3); background: var(--ecf-color-surface-raised); transform: translateY(-200%); }
.ecf-skip:focus { transform: translateY(0); }
.ecf-mark { color: var(--ecf-color-rubric); }
.ecf-brand { white-space: normal; }
.ecf-header { gap: var(--ecf-space-2) var(--ecf-space-4); }
.ecf-nav { gap: var(--ecf-space-4); }
.ecf-theme { margin-left: auto; flex: none; }
.ecf-hero { align-items: center; }
.ecf-hero > .ecf-aside { margin: 0; max-width: 460px; flex: 0 1 340px; gap: var(--ecf-space-3); }
.ecf-hero > .ecf-content { flex: 1 1 520px; max-width: 620px; }
.ecf-hero-caption { justify-content: space-between; font-style: italic; font-size: var(--ecf-text-md); }
.ecf-trust { padding: var(--ecf-space-5) 0; border-top: 1px solid var(--ecf-color-rubric); border-bottom: 1px solid var(--ecf-color-rubric); }
.ecf-trust h2 { font-size: var(--ecf-text-md); color: var(--ecf-color-rubric); }
.ecf-trust p { font-size: var(--ecf-text-md); }
.ecf-theme, .ecf .ecf-chip, .ecf-breadcrumb a, .ecf-table a { min-height: var(--ecf-touch); }
.ecf-breadcrumb a, .ecf-table a { display: inline-flex; align-items: center; }
.ecf-pager { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: var(--ecf-space-4); }
.ecf-footer > span { max-width: var(--ecf-measure); }
.ecf-list { list-style: none; margin: 0; padding: 0; }
.ecf-list li { border-bottom: 1px solid var(--ecf-color-rule); padding: var(--ecf-space-3) 0; }
.ecf-list a { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--ecf-space-2); min-height: var(--ecf-touch); }
.ecf-list p { margin-top: var(--ecf-space-1); }
.ecf-source--unclassified { border: 1px dotted var(--ecf-color-ink-muted); color: var(--ecf-color-ink-muted); white-space: normal; }
.ecf-passage--editor, .ecf-passage--translator, .ecf-passage--unclassified { font-family: var(--ecf-font-ui); font-size: var(--ecf-text-md); }
.ecf-prose { max-width: var(--ecf-measure); }
.ecf-prose p + p { margin-top: var(--ecf-space-4); }
.ecf-prose h2 { margin-top: var(--ecf-space-5); }
.ecf-prose ul { padding-left: var(--ecf-space-5); }
.ecf-paragraph { white-space: pre-wrap; overflow-wrap: anywhere; }
.ecf-reading-heading { max-width: var(--ecf-measure); }
.ecf-reading-heading h1 { font-size: clamp(var(--ecf-text-lg), 3cqi, var(--ecf-text-xl)); }
.ecf-fn-mark { display: inline-flex; align-items: center; justify-content: center; min-width: var(--ecf-touch); min-height: var(--ecf-touch); line-height: var(--ecf-leading-ui); vertical-align: baseline; }
.ecf-footnotes li:target { outline: 3px solid var(--ecf-color-focus); outline-offset: var(--ecf-space-2); }
.ecf-footnotes .ecf-source { margin-bottom: var(--ecf-space-2); }
.ecf-footnotes p { white-space: pre-wrap; }
.ecf-footnotes li { scroll-margin-top: var(--ecf-space-5); }
.ecf-note-link { min-height: var(--ecf-touch); display: inline-flex; align-items: center; }
.ecf-table caption { text-align: left; padding-bottom: var(--ecf-space-4); font-size: var(--ecf-text-md); }
.ecf-table td, .ecf-table th { overflow-wrap: anywhere; }
.ecf-table code { word-break: break-word; }
.ecf-notice .ecf-notice-symbol { font-size: var(--ecf-text-lg); line-height: 1; }
.ecf-tab { min-height: var(--ecf-touch); border: 0; border-bottom: 3px solid transparent; padding: var(--ecf-space-3) var(--ecf-space-5); font-family: var(--ecf-font-ui); font-size: var(--ecf-text-md); color: var(--ecf-color-ink); background: transparent; cursor: pointer; }
.ecf-tab[aria-selected=true] { border-bottom-color: var(--ecf-color-rubric); color: var(--ecf-color-rubric); font-weight: 600; }
.ecf-snippet mark { background: var(--ecf-color-mark); color: var(--ecf-color-ink); }
.ecf-actions { justify-content: space-between; }
.ecf-empty .ecf-empty-mark { height: var(--ecf-space-8); width: var(--ecf-space-8); color: var(--ecf-color-rubric); }
.ecf-system-status { min-height: 45vh; }
@container (max-width: 719px) { .ecf-hero > .ecf-aside { max-width: 100%; flex: 1 1 340px; } .ecf-header { padding-top: var(--ecf-space-4); } .ecf-brand { font-size: var(--ecf-text-md); letter-spacing: 0; } .ecf-nav { order: 3; } .ecf-header .ecf-search { order: 4; } .ecf-main { gap: var(--ecf-space-6); } .ecf-table--stack td { grid-template-columns: 100px minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0s !important; transition-duration: 0s !important; } }

@container (max-width: 719px) { .ecf-table--stack tbody th { display: block; padding: var(--ecf-space-2) 0; border: 0; white-space: normal; } }

.ecf-stack > .ecf-source { align-self: flex-start; }
