/* Scoped layout for the article, its figures and its explorer. */
.post-article li { line-height: 1.75; margin: .6rem 0; color: var(--ink-secondary); }
.post-article > .article-figure, .post-article > .article-table-scroll { grid-column: 1 / -1; }
.article-figure { margin: 2rem 0; }
.figure-scroll { overflow-x: auto; border-radius: 14px; background: #0f172a; }
.figure-scroll img { display: block; width: 100%; min-width: 880px; height: auto; }
.article-figure figcaption { margin-top: .75rem; font-size: .875rem; line-height: 1.6; color: var(--ink-secondary); }
.article-table-scroll { overflow-x: auto; margin: 1rem 0; }
.article-table-scroll table { width: 100%; min-width: 700px; border-collapse: collapse; font-size: .95rem; line-height: 1.6; }
.article-table-scroll table.mas-scoring { min-width: 960px; font-size: .9rem; }
.article-table-scroll caption { text-align: left; font-weight: 600; margin-bottom: .75rem; }
.article-table-scroll th, .article-table-scroll td { padding: .9rem; border: 1px solid var(--border); text-align: left; vertical-align: top; }
.article-table-scroll th { background: #edf7f2; }
.figure-scroll:focus-visible, .article-table-scroll:focus-visible { outline: 3px solid var(--brand-strong); outline-offset: 4px; }
.skip-link { position: absolute; top: .5rem; left: .5rem; transform: translateY(-200%); background: white; padding: .75rem; z-index: 10; color: var(--brand-strong); }
.skip-link:focus { transform: none; }
/* Explorer */
.ex-panel { background: #172235; border: 1px solid var(--gc-line); border-radius: 10px; padding: 18px; }
.drift-controls { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 16px 0; }
.drift-controls label { display: inline-flex; gap: 8px; align-items: center; margin-left: 8px; }
.drift-grid { display: grid; gap: 4px; min-width: 560px; }
.drift-row { display: grid; grid-template-columns: 92px repeat(20, minmax(0, 1fr)); gap: 4px; align-items: center; }
.drift-field { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .78rem; color: var(--gc-muted); text-align: right; padding-right: 6px; }
.drift-cell { aspect-ratio: 1; border-radius: 4px; background: #065f46; border: 2px solid transparent; }
.drift-cell.is-wrong { background: #be123c; }
.drift-cell.is-changed { border-color: #fcd34d; }
.drift-acc { font-size: 1.15rem; font-weight: 700; color: #f8fafc; margin: 0 0 4px; }
.gc-stage .drift-raw { margin: 8px 0; }
.drift-parse { padding: 10px 12px; border-radius: 8px; background: #0f1a2b; border: 1px solid var(--gc-line); color: #dbe5f1; }
.drift-parse.is-ok { border-color: #348574; color: #d1fae5; }
.drift-parse.is-bad { border-color: #bd7857; color: #ffdcc7; }
