/* Shared reader chrome only. Model names, routes and examples live in the MD. */
body.configuration-guide-open { overflow: hidden; }

.configuration-guide {
    --guide-ink: #14201f;
    --guide-paper: #fffdf6;
    --guide-line: #d9ddd2;
    --guide-muted: #596560;
    --guide-accent: #b7f34b;
    box-sizing: border-box;
    width: min(1120px, calc(100% - 48px));
    height: min(900px, 90dvh);
    max-width: none;
    max-height: 90dvh;
    margin: auto;
    padding: 0;
    border: 1px solid var(--guide-ink);
    background: var(--guide-paper);
    color: var(--guide-ink);
    font: 16px/1.7 "Avenir Next", "PingFang SC", "Microsoft YaHei", sans-serif;
}
.configuration-guide[open] { display: flex; flex-direction: column; }
.configuration-guide::backdrop { background: rgba(15, 24, 23, .65); }
.configuration-guide * { box-sizing: border-box; }
.configuration-guide [hidden] { display: none !important; }
.configuration-guide :is(a, button, summary, [tabindex]):focus-visible {
    outline: 3px solid #ed6a36;
    outline-offset: 3px;
}
.configuration-guide__header {
    display: flex;
    flex-shrink: 0;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 24px 32px;
    border-bottom: 1px solid var(--guide-ink);
}
.configuration-guide__eyebrow { font-size: 11px; letter-spacing: .12em; font-weight: 700; }
.configuration-guide__header h2 { margin: 5px 0; font-size: 26px; line-height: 1.35; }
.configuration-guide__header p { margin: 0; font-size: 14px; color: var(--guide-muted); }
.configuration-guide__actions { display: flex; flex-shrink: 0; gap: 12px; }
.configuration-guide__actions :is(a, button), .configuration-guide__retry {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 8px 14px;
    border: 1px solid var(--guide-ink);
    background: var(--guide-paper);
    color: var(--guide-ink);
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}
.configuration-guide__actions a { background: var(--guide-accent); }
.configuration-guide__actions :is(a, button):hover { box-shadow: 3px 3px 0 var(--guide-ink); }
.configuration-guide__body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 24px 32px 48px; }
.configuration-guide__status { margin: 12px 0; }
.configuration-guide__contents { margin-bottom: 28px; padding: 12px 18px; border: 1px solid var(--guide-line); }
.configuration-guide__contents summary { font-weight: 700; cursor: pointer; }
.configuration-guide__contents nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; padding: 16px 0 4px; }
.configuration-guide__contents a { color: var(--guide-ink); text-underline-offset: 4px; }
.configuration-guide__document { overflow-wrap: anywhere; }
.configuration-guide__document h1 { margin: 0 0 20px; font-size: 28px; line-height: 1.4; }
.configuration-guide__document h2 { margin: 40px 0 16px; padding-top: 20px; border-top: 1px solid var(--guide-line); font-size: 23px; line-height: 1.45; scroll-margin-top: 16px; }
.configuration-guide__document h3 { margin: 24px 0 12px; font-size: 19px; }
.configuration-guide__document p { margin: 14px 0; }
.configuration-guide__document :is(ul, ol) { padding-left: 26px; margin: 16px 0; }
.configuration-guide__document li { margin: 6px 0; }
.configuration-guide__document a { color: #315d06; text-decoration: underline; text-underline-offset: 3px; }
.configuration-guide__document blockquote { margin: 18px 0; padding: 1px 20px; border-left: 4px solid var(--guide-accent); background: #eef1e7; }
.configuration-guide__document code { font-family: "SF Mono", "Cascadia Code", "PingFang SC", monospace; font-size: .9em; background: #eef1e7; color: var(--guide-ink); padding: 2px 4px; }
.configuration-guide__table { overflow-x: auto; margin: 18px 0; border: 1px solid var(--guide-line); }
.configuration-guide__table table { border-collapse: collapse; width: 100%; font-size: 15px; }
.configuration-guide__table :is(th, td) { padding: 12px 16px; border: 1px solid var(--guide-line); min-width: 120px; text-align: left; vertical-align: top; color: var(--guide-ink); font-size: 15px; white-space: normal; letter-spacing: normal; text-transform: none; }
.configuration-guide__table th { background: #eef1e7; font-weight: 700; }
.configuration-guide__code { margin: 18px 0; border: 1px solid var(--guide-line); background: #eef1e7; }
.configuration-guide__code > button { display: block; margin: 8px 12px 0 auto; padding: 6px 12px; min-height: 40px; border: 1px solid var(--guide-line); background: var(--guide-paper); color: var(--guide-ink); font: inherit; font-size: 13px; cursor: pointer; }
.configuration-guide__code pre { overflow-x: auto; margin: 0; padding: 16px 20px; line-height: 1.65; }
.configuration-guide__code code { padding: 0; white-space: pre; background: transparent; font-size: 14px; }
@media (max-width: 700px) {
    .configuration-guide { width: calc(100% - 20px); height: 94dvh; max-height: 94dvh; }
    .configuration-guide__header { flex-direction: column; align-items: stretch; padding: 18px 20px; gap: 14px; }
    .configuration-guide__header h2 { font-size: 23px; }
    .configuration-guide__actions { justify-content: space-between; }
    .configuration-guide__body { padding: 20px 18px 36px; }
    .configuration-guide__contents nav { grid-template-columns: 1fr; }
    .configuration-guide__document h1 { font-size: 24px; }
    .configuration-guide__document h2 { font-size: 21px; }
}
