/* Document-specific styles; the shared palette and typography come from style-core.css. */
.document-page { --bg: var(--color-background); --surface: var(--color-card-prime); --ink: var(--color-text-max); --muted: var(--color-text-high); --line: var(--color-line); }
.document-page .sidebar { position: fixed; top: 106px; bottom: 20px; left: max(20px, calc((100vw - 1200px) / 2)); width: 258px; padding: 20px 16px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #505050 #141414; border: var(--border-card); border-radius: var(--radius-panel); background: var(--surface); }
.document-back { display: block; padding: 0 8px 16px; color: var(--muted); font-size: 0.8rem; }
.document-back:hover { color: #fff; }
.sidebar .brand { display: flex; align-items: center; gap: 12px; padding: 16px 8px; margin-bottom: 16px; border-top: var(--border-card); border-bottom: var(--border-card); }
.sidebar .brand img { width: 42px; height: 42px; border-radius: var(--radius); image-rendering: pixelated; }
.sidebar .brand strong, .sidebar .brand span { display: block; }
.sidebar .brand strong { font-size: 0.9rem; }
.sidebar .brand span { color: var(--muted); font-size: 0.7rem; line-height: 1.8; }
.sidebar nav { display: grid; gap: 4px; }
.sidebar nav a { padding: 8px 10px; border-radius: var(--radius); color: var(--muted); font-size: 0.82rem; line-height: 1.6; }
.sidebar nav a:hover, .sidebar nav a[aria-current="location"] { background: var(--color-card-mid); color: #fff; }
.document-page .layout { width: min(920px, calc(100% - 318px)); margin: 0 max(20px, calc((100vw - 1200px) / 2)) 0 auto; padding: 106px 0 24px; }
.document-page .hero { display: grid; gap: 20px; padding: clamp(24px, 4vw, 40px); border: var(--border-card); border-radius: var(--radius-panel); background: var(--surface); }
.hero h1 { margin-top: 18px; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.25; }
.hero .summary { margin-top: 18px; color: var(--muted); font-size: 0.95rem; }
.meta, .language-switcher { display: flex; flex-wrap: wrap; gap: 8px; }
.meta a, .meta span, .language-switcher button { display: inline-flex; align-items: center; padding: 7px 12px; border: var(--border-card); border-radius: var(--radius); background: var(--color-card-mid); color: var(--muted); font-size: 0.8rem; line-height: 1.5; }
.meta a:hover { color: #fff; }
.language-switcher button[aria-pressed="true"] { background: #fff; border-color: #fff; color: #000; }
.wiki-page { margin-top: 20px; padding: clamp(22px, 4vw, 40px); border: var(--border-card); border-radius: var(--radius-panel); background: var(--surface); overflow-wrap: anywhere; }
.section-eyebrow { margin-bottom: 12px; font-size: 0.7rem; line-height: 1.5; color: var(--muted); }
.wiki-page h1 { margin-bottom: 24px; font-size: 1.9rem; line-height: 1.4; }
.wiki-page h2 { margin: 28px 0 16px; font-size: 1.5rem; line-height: 1.4; }
.wiki-page h3 { margin: 26px 0 14px; font-size: 1.25rem; line-height: 1.5; }
.wiki-page h4 { margin: 24px 0 12px; font-size: 1.05rem; }
.wiki-page p, .wiki-page ul, .wiki-page ol { margin: 14px 0; color: #c7c7c7; }
.wiki-page ul, .wiki-page ol { padding-left: 24px; }
.wiki-page li { margin-block: 8px; }
.wiki-page strong { color: #fff; }
.wiki-page a { color: #fff; text-decoration: underline; text-decoration-color: #777; text-underline-offset: 4px; }
.wiki-page a:hover { text-decoration-color: #fff; }
.wiki-page code { padding: 2px 5px; border-radius: 4px; background: var(--color-card-mid); color: #e0e0e0; font: 0.83em/1.6 var(--font-code); }
.wiki-page pre { overflow-x: auto; padding: 18px; border: var(--border-card); border-radius: var(--radius); background: #0c0c0c; }
.wiki-page pre code { padding: 0; background: transparent; }
.wiki-page blockquote { margin: 20px 0; padding: 10px 18px; border-left: 3px solid #888; border-radius: 0 var(--radius) var(--radius) 0; background: var(--color-card-mid); color: var(--muted); }
.table-scroll { margin: 20px 0; overflow-x: auto; border: var(--border-card); border-radius: var(--radius); scrollbar-width: thin; scrollbar-color: #505050 #141414; }
.table-scroll table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 0.85rem; }
.table-scroll th, .table-scroll td { padding: 12px; text-align: left; vertical-align: top; border: 1px solid var(--line); }
.table-scroll th { background: var(--color-card-mid); color: #fff; font-weight: 600; }
.table-scroll td { color: #c7c7c7; }
.table-scroll td img[width="32"], .table-scroll th img[width="32"] { width: 32px; height: 32px; image-rendering: pixelated; }
.raw-table table { min-width: 0; }
.entity-image-cell { width: 220px; text-align: center; }
.raw-table img { max-width: min(220px, 40vw); height: auto; }
.wiki-figure { margin: 18px 0 26px; }
.wiki-figure img { max-width: 100%; height: auto; border-radius: var(--radius); }
.wiki-float-right { float: right; margin: 0 0 18px 24px; }
.wiki-float-left { float: left; margin: 4px 12px 8px 0; }
.wiki-page::after, .language-panel::after { display: block; clear: both; content: ""; }
.language-panel { display: none; }
body[data-lang="zh"] .language-panel[data-lang="zh"], body[data-lang="en"] .language-panel[data-lang="en"], body[data-lang="ja"] .language-panel[data-lang="ja"], body[data-lang="es"] .language-panel[data-lang="es"] { display: block; }
.language-marker { display: none; }
.document-page .layout > footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; margin-top: 32px; padding: 24px 0; border-top: var(--border-card); color: var(--muted); font-size: 0.8rem; }
.document-page .layout > footer a:hover { color: #fff; }
@media (max-width: 980px) {
  .document-page .sidebar { position: static; width: calc(100% - 40px); max-width: var(--container); margin: 106px auto 20px; padding: 20px; }
  .sidebar nav { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
  .document-page .layout { width: calc(100% - 40px); margin-inline: auto; padding-top: 0; }
}
@media (max-width: 799px) { .document-page .sidebar { width: calc(100% - 28px); margin-top: 94px; } .document-page .layout { width: calc(100% - 28px); } body:has(.site-header:not(.is-enhanced)) .sidebar { margin-top: 150px; } }
@media (max-width: 600px) { .wiki-float-right, .wiki-float-left { float: none; margin: 0 0 16px; } .raw-table table, .raw-table tbody, .raw-table tr, .raw-table td { display: block; width: 100%; } .raw-table img { max-width: 180px; margin-inline: auto; } .wiki-page h1 { font-size: 1.5rem; } }
