:root { color-scheme: light; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #17283b; background: #f5f7fa; }
* { box-sizing: border-box; }
body { margin: 0; line-height: 1.5; }
.shell { width: min(1120px, calc(100% - 36px)); margin-inline: auto; }
.site-header { padding: 38px 0 34px; color: #fff; background: #15324e; }
.site-header h1 { margin: 4px 0; font-size: clamp(1.8rem, 4vw, 2.6rem); }
.site-header p:last-child { margin: 4px 0 0; color: #d7e5f2; }
.eyebrow { margin: 0; color: #99d7ea; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.notice { margin: 24px 0; padding: 16px 20px; border-left: 4px solid #c78924; border-radius: 4px; background: #fff6e6; }
.tabs { display: flex; flex-wrap: wrap; gap: 8px; border-bottom: 1px solid #cbd5e1; }
.tabs button { padding: 11px 16px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #31516c; font: inherit; font-weight: 600; cursor: pointer; }
.tabs button[aria-selected="true"] { border-color: #096d96; color: #084d70; }
.tabs button:hover, a:hover { color: #05668e; }
.document-head { display: flex; align-items: start; justify-content: space-between; gap: 20px; padding: 25px 0 8px; }
.document-head h2 { margin: 0; font-size: 1.6rem; }
.document-head p { max-width: 760px; margin: 7px 0 0; color: #4b5f70; }
.download { flex: none; padding: 8px 12px; border: 1px solid #b3c7d5; border-radius: 6px; background: #fff; color: #075d83; text-decoration: none; }
.search-label { display: block; margin: 18px 0 6px; font-weight: 600; }
#search { width: 100%; padding: 12px; border: 1px solid #acbdca; border-radius: 6px; background: #fff; color: inherit; font: inherit; }
#search:focus-visible, button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid #ecae38; outline-offset: 2px; }
#status { min-height: 1.5em; color: #526a7e; }
.section-title { margin: 28px 0 12px; font-size: 1.25rem; }
.card { margin: 10px 0; border: 1px solid #d1dce4; border-radius: 8px; background: #fff; overflow: hidden; }
.card > summary { display: flex; align-items: baseline; gap: 12px; padding: 15px 18px; cursor: pointer; list-style: none; }
.card > summary::-webkit-details-marker { display: none; }
.card > summary::after { content: "⌄"; margin-left: auto; color: #597389; }
.card[open] > summary::after { content: "⌃"; }
.card[open] > summary { border-bottom: 1px solid #e0e8ed; }
.card-body { padding: 16px 18px 22px; }
.method { padding: 3px 8px; border-radius: 4px; background: #d8eede; color: #116337; font-size: .77rem; font-weight: 800; }
.path, code { overflow-wrap: anywhere; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.path { font-size: .94rem; font-weight: 600; }
.summary-text { color: #526a7e; }
h4 { margin: 22px 0 8px; }
.schema-name { font-weight: 700; }
.schema-description { margin: 8px 0 16px; color: #4b5f70; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: .92rem; }
th, td { padding: 9px 11px; border-bottom: 1px solid #e3e9ee; text-align: left; vertical-align: top; }
th { background: #f0f5f8; font-weight: 700; }
td:first-child { white-space: nowrap; }
.required { color: #8c4a08; font-weight: 700; }
.muted { color: #63778a; }
.nested { margin-top: 9px; padding-left: 13px; border-left: 2px solid #c8d8e3; }
.variant { margin: 10px 0; padding: 8px 12px; border: 1px solid #dae3e9; border-radius: 5px; }
.variant summary { cursor: pointer; font-weight: 600; }
.inline-list { margin: 7px 0 0; padding-left: 20px; }
a { color: #076b98; }
.footer { padding: 28px 0 42px; color: #63778a; font-size: .9rem; }
@media (max-width: 700px) { .document-head { display: block; } .download { display: inline-block; margin-top: 15px; } .card > summary { flex-wrap: wrap; gap: 7px; } }
