body[data-reading=a] {
  --light: #f8f9fc;
  --surface: #ffffff;
  --lightgray: #d9dce7;
  --gray: #6d7690;
  --darkgray: #596177;
  --dark: #202638;
  --secondary: #003876;
  --tertiary: #6547b3;
  --highlight: #eef1f8;
  --textHighlight: #dedff6;
  --graph-node: #6d7690;
  --graph-visited: #003876;
  --graph-current: #6547b3;
  --graph-selected: #6547b3;
  --graph-edge: #c7cbd9;
  --graph-edge-active: #6547b3;
  --graph-label: #202638;
  --graph-overlay: #04041433;
  --bodyFont: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", "Segoe UI", sans-serif;
  --headerFont: var(--bodyFont);
  --codeFont: "Cascadia Code", "SFMono-Regular", Consolas, monospace;
  background: var(--light);
  color: var(--dark);
  font-family: var(--bodyFont);
  color-scheme: light;
  margin: 0;
  overflow-wrap: anywhere;
  -webkit-font-smoothing: antialiased;
}
body[data-status] .status-main, body[data-publication] .status-main { max-width: 920px; margin: 56px auto 72px; }
body[data-status] .status-eyebrow, body[data-status] .status-kicker, body[data-publication] .status-eyebrow, body[data-publication] .status-kicker { color: var(--tertiary); font-size: .82rem; font-weight: 600; letter-spacing: .04em; }
body[data-status] h1, body[data-publication] h1 { font-size: clamp(1.7rem, 4vw, 2.4rem); margin: 12px 0 18px; }
body[data-status] .status-intro, body[data-publication] .status-intro { max-width: 44rem; color: var(--darkgray); line-height: 1.8; }
body[data-status] .status-summary, body[data-publication] .status-summary { border: 1px solid var(--lightgray); border-left: 3px solid var(--tertiary); padding: 20px 24px; margin: 32px 0 24px; border-radius: 4px; }
body[data-status] .status-summary h2, body[data-publication] .status-summary h2 { font-size: 1.25rem; margin: 8px 0 12px; }
body[data-status] .status-summary p, body[data-status] .status-summary li, body[data-publication] .status-summary p, body[data-publication] .status-summary li { line-height: 1.7; }
body[data-status] .status-summary ul, body[data-publication] .status-summary ul { padding-left: 20px; }
body[data-status] .status-toolbar, body[data-publication] .status-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
body[data-status] .status-ranges { display:flex; gap:8px; }
body[data-status] button, body[data-publication] button { background:var(--light); border:1px solid var(--lightgray); border-radius:5px; padding:9px 12px; color:var(--dark); }
body[data-status] button[aria-pressed=true] { color:var(--secondary); background:var(--highlight); border-color:var(--secondary); }
body[data-status] button:disabled, body[data-publication] button:disabled { opacity:.55; cursor:default; }
body[data-status] .status-charts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:24px 0 36px; }
body[data-status] .status-chart { min-width:0; border-top:1px solid var(--lightgray); padding:20px 0 0; }
body[data-status] .status-chart h2 { font-size:1rem; font-weight:500; margin:0; }
body[data-status] .status-value { font-size:1.7rem; font-variant-numeric:tabular-nums; margin:12px 0; }
body[data-status] svg { display:block; width:100%; border-bottom:1px solid var(--lightgray); height:auto; }
body[data-status] svg rect { fill:var(--secondary); }
body[data-status] .status-caption, body[data-status] #status-time, body[data-publication] .status-caption, body[data-publication] #status-time { color:var(--darkgray); font-size:.82rem; line-height:1.65; }
body[data-status] details { margin-top:14px; font-size:.85rem; }
body[data-status] details table { width:100%; margin-top:12px; border-collapse:collapse; font-variant-numeric:tabular-nums; }
body[data-status] details td, body[data-status] details th { padding:6px; text-align:left; border-bottom:1px solid var(--lightgray); }
body[data-status] details caption { text-align:left; padding:8px 0; }
body[data-status] .status-footnote, body[data-publication] .status-footnote { border-top:1px solid var(--lightgray); padding-top:20px; color:var(--darkgray); font-size:.9rem; line-height:1.8; }
body[data-status] .status-footnote h2, body[data-publication] .status-footnote h2 { color:var(--dark); font-size:1rem; }
body[data-status] textarea { width:100%; min-height:230px; color:var(--dark); background:var(--light); }
body[data-reading=a] [data-service-status][data-state=attention] { font-weight:650; color:var(--tertiary); }
@media(max-width:640px) { body[data-status] .status-charts { grid-template-columns:1fr; gap:24px; } body[data-status] .status-main, body[data-publication] .status-main { margin-top:28px; } body[data-status] .status-summary, body[data-publication] .status-summary { padding:16px; } }
body[data-publication] .status-toolbar { justify-content:flex-start; margin:0 0 8px; }
body[data-publication] .status-toolbar .status-caption { flex:1 1 20rem; margin:0; }
body[data-publication] #publication-feedback { color:var(--darkgray); font-size:.82rem; min-height:1.4em; }
body[data-publication] .publication-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 32px; margin:16px 0 36px; }
body[data-publication] .publication-facts section { min-width:0; border-top:1px solid var(--lightgray); padding:16px 0 0; }
body[data-publication] .publication-facts h2 { font-size:1rem; font-weight:500; margin:0 0 8px; }
body[data-publication] .publication-facts dl { margin:0; }
body[data-publication] .publication-facts dt { color:var(--darkgray); font-size:.82rem; margin-top:12px; }
body[data-publication] .publication-facts dd { margin:2px 0 0; font-variant-numeric:tabular-nums; }
body[data-publication] .publication-facts dd .status-caption { display:block; }
body[data-publication] .publication-facts[data-stale=true] dd { opacity:.6; }
@media(max-width:640px) { body[data-publication] .publication-facts { grid-template-columns:1fr; } }
body[data-reading=a] * {
  box-sizing: border-box;
}
body[data-reading=a]::selection, body[data-reading=a] ::selection {
  background: var(--textHighlight);
  color: var(--dark);
}
body[data-reading=a] [hidden] {
  display: none !important;
}
body[data-reading=a] a {
  color: var(--secondary);
}
body[data-reading=a] a:focus-visible, body[data-reading=a] button:focus-visible, body[data-reading=a] summary:focus-visible, body[data-reading=a] [tabindex="0"]:focus-visible {
  outline: 2px solid var(--secondary);
  outline-offset: 4px;
  border-radius: 3px;
}
body[data-reading=a] button, body[data-reading=a] summary {
  cursor: pointer;
  font: inherit;
}
body[data-reading=a] .page {
  width: 100%;
  max-width: 1184px;
  padding: 0 32px;
  margin: 0 auto;
}
body[data-reading=a] .site-header {
  display: flex;
  align-items: center;
  gap: 28px;
  min-height: 96px;
  border-bottom: 1px solid var(--lightgray);
}
body[data-reading=a] .site-name {
  color: var(--dark);
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -0.04em;
  text-decoration: none;
  padding-block: 12px;
}
body[data-reading=a] .site-dot {
  color: var(--secondary);
}
body[data-reading=a] .site-header nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  margin-inline-start: auto;
}
body[data-reading=a] .site-header nav a {
  color: var(--darkgray);
  text-decoration: none;
  font-size: 0.9rem;
  padding-block: 12px;
}
body[data-reading=a] .site-header nav a:hover {
  color: var(--secondary);
  text-decoration: underline;
  text-underline-offset: 0.3em;
}
body[data-reading=a] .site-appearance {
  display: flex;
}
body[data-reading=a] .darkmode {
  width: 44px;
  height: 44px;
  padding: 12px;
  border: 1px solid var(--lightgray);
  border-radius: 50%;
  background: var(--surface);
}
body[data-reading=a] .darkmode svg {
  width: 18px;
  height: 18px;
}
body[data-reading=a] .skip-link {
  position: fixed;
  inset-block-start: 8px;
  inset-inline-start: 16px;
  z-index: 100;
  transform: translateY(-150%);
  padding: 12px 18px;
  background: var(--surface);
  border: 2px solid var(--secondary);
}
body[data-reading=a] .skip-link:focus {
  transform: translateY(0);
}
body[data-reading=a] #quartz-body {
  display: grid;
  grid-template-columns: minmax(0, 760px) minmax(180px, 216px);
  grid-template-rows: auto;
  grid-template-areas: "main toc";
  align-items: start;
  gap: 56px;
  padding-block: 44px 0;
  padding-inline: 0;
}
body[data-reading=a] #quartz-body .center {
  grid-area: main;
  width: 100%;
  min-width: 0;
  margin: 0;
}
body[data-reading=a] #quartz-body .sidebar.right {
  grid-area: toc;
  display: block;
  position: sticky;
  top: 28px;
  padding: 0;
  margin: 0;
  height: auto;
  max-height: calc(100dvh - 56px);
  overflow-y: auto;
}
body[data-reading=a] #reading-main:focus {
  outline: none;
}
body[data-reading=a] #reading-main {
  scroll-margin-top: 24px;
}
body[data-reading=a] .reading-context {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: baseline;
  font-size: 0.82rem;
  line-height: 1.65;
  min-height: 24px;
  margin-bottom: 22px;
}
body[data-reading=a] .reading-context a {
  text-decoration: none;
}
body[data-reading=a] .context-path {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  color: var(--darkgray);
  border-inline-start: 1px solid var(--lightgray);
  padding-inline-start: 12px;
}
body[data-reading=a] .previous-document {
  max-width: 100%;
  overflow-wrap: anywhere;
}
body[data-reading=a] .reading-toc {
  border-inline-start: 1px solid var(--lightgray);
  padding-inline-start: 20px;
}
body[data-reading=a] #quartz-body .sidebar.right > .reading-toc {
  max-height: none;
}
body[data-reading=a] .reading-toc summary {
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--dark);
  padding-block: 10px;
  min-height: 44px;
}
body[data-reading=a] .reading-toc ul {
  padding: 4px 0 0;
  margin: 0;
  list-style: none;
}
body[data-reading=a] .reading-toc li {
  margin: 0;
}
body[data-reading=a] .reading-toc a {
  display: block;
  font-size: 0.82rem;
  color: var(--darkgray);
  line-height: 1.55;
  padding: 8px 0;
  text-decoration: none;
  opacity: 1;
}
body[data-reading=a] .reading-toc a:hover {
  color: var(--secondary);
  text-decoration: underline;
}
body[data-reading=a] .reading-toc .depth-2 {
  padding-inline-start: 12px;
}
body[data-reading=a] article {
  font-size: 1.05rem;
  line-height: 1.85;
  overflow-wrap: anywhere;
}
body[data-reading=a] article h1 {
  font-size: clamp(1.65rem, 2.5vw, 2.2rem);
  line-height: 1.5;
  letter-spacing: -0.035em;
  margin: 0 0 28px;
  font-weight: 700;
  color: var(--dark);
  word-break: keep-all;
  overflow-wrap: anywhere;
}
body[data-reading=a] article h2 {
  font-size: 1.4rem;
  line-height: 1.55;
  margin: 48px 0 16px;
  letter-spacing: -0.025em;
}
body[data-reading=a] article h3 {
  font-size: 1.12rem;
  line-height: 1.6;
  margin: 32px 0 12px;
}
body[data-reading=a] article h4, body[data-reading=a] article h5, body[data-reading=a] article h6 {
  font-size: 1rem;
  line-height: 1.65;
  margin: 24px 0 10px;
}
body[data-reading=a] article :is(h1, h2, h3, h4, h5, h6) {
  scroll-margin-top: 24px;
}
body[data-reading=a] article :is(p, ul, ol, li, td) {
  color: var(--dark);
}
body[data-reading=a] article p {
  margin: 0 0 22px;
}
body[data-reading=a] article ul, body[data-reading=a] article ol {
  padding-inline-start: 1.4em;
  margin-block: 16px 24px;
}
body[data-reading=a] article li {
  margin-block: 7px;
}
body[data-reading=a] article li > p {
  margin-bottom: 8px;
}
body[data-reading=a] article a.internal, body[data-reading=a] article a.external {
  background: transparent;
  color: var(--dark);
  font-weight: inherit;
  text-decoration: underline;
  text-underline-offset: 0.22em;
  text-decoration-thickness: 1px;
}
body[data-reading=a] article a.internal:is(:hover, :focus-visible), body[data-reading=a] article a.external:is(:hover, :focus-visible) {
  color: var(--secondary);
}
body[data-reading=a] article a .external-icon {
  width: 0.7em;
  height: 0.7em;
}
body[data-reading=a] article blockquote {
  margin: 28px 0;
  padding: 4px 0 4px 22px;
  background: transparent;
  border-inline-start: 3px solid var(--secondary);
}
body[data-reading=a] article blockquote p:last-child {
  margin-bottom: 0;
}
body[data-reading=a] article pre {
  border: 1px solid var(--lightgray);
  border-radius: 8px;
  padding: 18px;
  font-size: 0.85rem;
  line-height: 1.7;
  max-width: 100%;
  overflow-x: auto;
}
body[data-reading=a] article code {
  font-family: var(--codeFont);
  font-size: 0.86em;
  border-radius: 3px;
  background: var(--highlight);
  overflow-wrap: anywhere;
}
body[data-reading=a] article pre code {
  font-size: inherit;
  overflow-wrap: normal;
}
body[data-reading=a] article .table-container {
  max-width: 100%;
  overflow-x: auto;
  margin-block: 22px;
}
body[data-reading=a] article table {
  width: 100%;
  font-size: 0.91rem;
  line-height: 1.7;
  margin: 0;
}
body[data-reading=a] article th {
  background: var(--highlight);
  color: var(--dark);
}
body[data-reading=a] article th, body[data-reading=a] article td {
  min-width: 7rem;
  padding: 12px 14px;
  border-color: var(--lightgray);
}
body[data-reading=a] article img {
  max-width: 100%;
  height: auto;
}
/* Site-owned videos sit between the article and its backlinks/graph footer. */
body[data-reading=a] .related-videos {
  border-top: 1px solid var(--lightgray);
  margin-top: 48px;
  padding-top: 28px;
}
body[data-reading=a] .related-videos h2 {
  font-size: 0.94rem;
  margin: 0 0 16px;
}
body[data-reading=a] .related-videos .project-video {
  margin: 0;
}
body[data-reading=a] .related-videos .video-alternative {
  margin: 8px 0 0;
  font-size: 0.82rem;
}
body[data-reading=a] .related-videos .video-alternative + .project-video {
  margin-top: 32px;
}
body[data-reading=a] .related-videos .project-video video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: auto 16 / 9;
  border: 1px solid var(--lightgray);
  border-radius: 8px;
  background: var(--surface);
}
body[data-reading=a] .related-videos .project-video figcaption {
  color: var(--darkgray);
  font-size: 0.82rem;
  line-height: 1.65;
  margin-top: 10px;
}
body[data-reading=a] .related-videos .video-silent {
  padding: 0 6px;
  border: 1px solid var(--lightgray);
  border-radius: 4px;
  font-size: 0.75rem;
  white-space: nowrap;
}
/* Custom controls exist only after the silent-video script has replaced the native controls. */
body[data-reading=a] .related-videos .project-video[data-player=custom] video {
  cursor: pointer;
}
body[data-reading=a] .related-videos .project-video .video-controls {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
}
body[data-reading=a] .related-videos .project-video .video-controls button {
  flex: none;
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid var(--lightgray);
  border-radius: 6px;
  background: var(--light);
  color: var(--dark);
  cursor: pointer;
}
body[data-reading=a] .related-videos .project-video .video-controls button:hover:not(:disabled) {
  border-color: var(--secondary);
  color: var(--secondary);
}
body[data-reading=a] .related-videos .project-video .video-controls button:disabled {
  opacity: 0.45;
  cursor: default;
}
body[data-reading=a] .related-videos .project-video .video-controls svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}
body[data-reading=a] .related-videos .project-video .video-seek {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  accent-color: var(--secondary);
}
body[data-reading=a] .related-videos .project-video .video-seek:focus-visible {
  outline: 2px solid var(--secondary);
  outline-offset: 3px;
}
body[data-reading=a] .related-videos .project-video .video-time {
  flex: none;
  color: var(--darkgray);
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums;
}
body[data-reading=a] .related-videos .project-video .video-message {
  margin: 6px 0 0;
  color: var(--tertiary);
  font-size: 0.82rem;
}
body[data-reading=a] .related-videos .project-video .video-message[hidden] {
  display: none;
}
@media (max-width: 480px) {
  body[data-reading=a] .related-videos .project-video .video-controls { gap: 6px; }
  body[data-reading=a] .related-videos .project-video .video-time { font-size: 0.75rem; }
}
/* Figure fullscreen keeps the custom toolbar on screen; separate rules keep the prefixed selector from invalidating the standard one. */
body[data-reading=a] .related-videos .project-video:fullscreen {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0;
  padding: 16px;
  background: var(--light);
}
body[data-reading=a] .related-videos .project-video:-webkit-full-screen {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0;
  padding: 16px;
  background: var(--light);
}
body[data-reading=a] .related-videos .project-video[data-fullscreen] video {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  object-fit: contain;
  border: 0;
  border-radius: 0;
}
body[data-reading=a] article .footnotes {
  font-size: 0.9rem;
}
body[data-reading=a] .outside-sample {
  color: var(--darkgray);
  border-bottom: 1px dotted var(--darkgray);
}
body[data-reading=a] .center > hr {
  display: none;
}
body[data-reading=a] .page-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 32px;
  border-top: 1px solid var(--lightgray);
  margin-top: 48px;
  padding-top: 28px;
}
body[data-reading=a] .page-footer h3 {
  font-size: 0.94rem;
  margin: 0 0 16px;
}
body[data-reading=a] .backlinks, body[data-reading=a] .graph {
  min-width: 0;
}
body[data-reading=a] .backlinks ul {
  padding: 0;
  margin: 0;
  list-style: none;
  max-height: 280px;
  overflow-y: auto;
}
body[data-reading=a] .backlinks li {
  line-height: 1.65;
  font-size: 0.88rem;
  margin-bottom: 12px;
}
body[data-reading=a] .backlinks a {
  text-decoration: none;
}
body[data-reading=a] .graph .graph-outer {
  border: 1px solid var(--lightgray);
  border-radius: 8px;
  background: var(--surface);
}
body[data-reading=a] .graph .graph-container {
  height: 240px;
}
body[data-reading=a] .graph .graph-container canvas {
  touch-action: pan-y !important;
  max-width: 100%;
}
body[data-reading=a] .graph .global-graph-icon, body[data-reading=a] .graph .graph-refresh {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 12px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--secondary);
  opacity: 1;
  cursor: pointer;
}
body[data-reading=a] .graph .global-graph-icon svg, body[data-reading=a] .graph .graph-refresh svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
body[data-reading=a] .graph .graph-outer > .graph-refresh {
  position: absolute;
  top: 0;
  right: 48px;
  margin: 0.3rem;
}
body[data-reading=a] .graph .graph-refresh:hover:not(:disabled) {
  background: var(--lightgray);
}
body[data-reading=a] .graph .graph-refresh:disabled {
  opacity: 0.4;
  cursor: default;
}
body[data-reading=a] .graph-links {
  margin-top: 12px;
  font-size: 0.88rem;
  line-height: 1.65;
}
body[data-reading=a] .graph-links summary {
  min-height: 44px;
  padding-block: 10px;
}
body[data-reading=a] .graph-links ul {
  list-style: none;
  padding: 0;
}
body[data-reading=a] .graph-links li {
  margin-block: 12px;
}
body[data-reading=a] .graph-links a {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
body[data-reading=a] .graph .global-graph-outer {
  background: var(--graph-overlay);
}
body[data-reading=a] .graph .global-graph-container {
  width: calc(100vw - 48px);
  height: calc(100dvh - 144px);
  max-width: 1184px;
  border-color: var(--lightgray);
  background: var(--light);
}
body[data-reading=a] .graph-dialog-controls {
  position: fixed;
  top: 16px;
  right: 24px;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 8px;
}
body[data-reading=a] .graph-close, body[data-reading=a] .graph .graph-dialog-controls .graph-refresh {
  min-height: 44px;
  border: 1px solid var(--secondary);
  border-radius: 8px;
  color: var(--secondary);
  background: var(--surface);
}
body[data-reading=a] .graph-close {
  height: 44px;
  padding: 0 20px;
  cursor: pointer;
}
body[data-reading=a] .related-topics {
  padding-top: 24px;
  margin-top: 24px;
  border-top: 1px solid var(--lightgray);
}
body[data-reading=a] .related-topics h2 {
  font-size: 0.9rem;
  margin: 0 0 10px;
}
body[data-reading=a] .related-topics ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 10px 20px;
}
body[data-reading=a] .related-topics a {
  font-size: 0.88rem;
  line-height: 1.6;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
body[data-reading=a] .daily-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
body[data-reading=a] .daily-list li {
  padding: 12px 0;
  border-top: 1px solid var(--lightgray);
}
body[data-reading=a] .daily-neighbours {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px 24px;
  border-top: 1px solid var(--lightgray);
  padding-top: 20px;
  margin-top: 32px;
  font-size: 0.9rem;
}
body[data-reading=a] .daily-neighbours a {
  text-decoration: none;
  min-width: 0;
}
body[data-reading=a] .daily-neighbours .daily-newer {
  margin-left: auto;
  text-align: right;
}
body[data-reading=a] .daily-neighbours a span {
  display: block;
  color: var(--darkgray);
  font-size: 0.85rem;
  line-height: 1.6;
}
body[data-reading=a] .reading-return {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  border-top: 1px solid var(--lightgray);
  padding-top: 24px;
  margin-top: 40px;
  font-size: 0.88rem;
}
body[data-reading=a] .reading-return .previous-document-row {
  flex-basis: 100%;
  min-width: 0;
}
body[data-reading=a] .reading-return a {
  padding-block: 6px;
  text-decoration: none;
}
body[data-reading=a] .site-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
  font-size: 0.8rem;
  border-top: 1px solid var(--lightgray);
  margin-top: 56px;
  padding-block: 24px 36px;
}
body[data-reading=a] .site-footer a {
  color: var(--darkgray);
  text-decoration: none;
}
body[data-reading=a] .site-footer > div {
  display: flex;
  gap: 24px;
}
body[data-reading=a] .site-header nav a[aria-current=page] {
  color: var(--dark);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.4em;
}
body[data-reading=a][data-home] #quartz-body {
  display: block;
  padding-top: 44px;
}
body[data-reading=a][data-home] .center {
  max-width: none;
}
body[data-reading=a] .home-heading {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px 20px;
  align-items: end;
  margin-bottom: 36px;
}
body[data-reading=a] .home-profile {
  min-width: 0;
}
body[data-reading=a] .home-heading h1 {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 14px;
  font-size: 2.5rem;
  margin: 0;
  line-height: 1.35;
}
body[data-reading=a] .home-handle {
  color: var(--darkgray);
  font-size: 1rem;
  font-weight: 400;
}
body[data-reading=a] .home-contact {
  display: flex;
  flex-wrap: wrap;
  gap: 0 24px;
  margin-top: 8px;
  font-size: 0.9rem;
}
body[data-reading=a] .home-contact a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  min-width: 0;
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
body[data-reading=a] .home-email {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
body[data-reading=a] .home-email-address {
  min-width: 0;
  overflow-wrap: anywhere;
  user-select: text;
}
body[data-reading=a] .email-copy {
  flex: none;
  min-width: 44px;
  min-height: 44px;
  padding: 0 10px;
  border: 1px solid var(--lightgray);
  border-radius: 6px;
  background: transparent;
  color: var(--secondary);
}
body[data-reading=a] .email-copy:hover {
  background: var(--highlight);
}
body[data-reading=a] .email-copy:disabled {
  cursor: wait;
  opacity: 0.6;
}
body[data-reading=a] .email-copy-status {
  min-height: 1.5em;
  margin: 4px 0 0;
  font-size: 0.8rem;
  color: var(--darkgray);
}
body[data-reading=a] .home-count {
  font-size: 0.83rem;
  color: var(--darkgray);
  margin: 0 0 6px;
  font-variant-numeric: tabular-nums;
}
body[data-reading=a] .home-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 24px;
}
body[data-reading=a] .home-intro {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-bottom: 24px;
}
body[data-reading=a] .home-groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
body[data-reading=a] .home-graph {
  min-width: 0;
}
body[data-reading=a] .home-graph > .graph {
  display: flex;
  flex-direction: column;
  height: 100%;
}
body[data-reading=a] .home-graph h2, body[data-reading=a] .home-fragment > h2 {
  font-size: 0.84rem;
  color: var(--darkgray);
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0;
  margin: 0 0 16px;
}
body[data-reading=a] .home-graph .graph-outer {
  flex: 1;
  height: auto;
  min-height: 302px;
  margin: 0;
  border-radius: 12px;
}
body[data-reading=a] .home-graph .graph-outer > .graph-container {
  position: absolute;
  inset: 0;
  height: 100%;
}
body[data-reading=a][data-collection] #quartz-body {
  display: block;
}
body[data-reading=a] .collection-intro {
  color: var(--darkgray);
}
body[data-reading=a] .collection-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
body[data-reading=a] .collection-card {
  padding: 24px 28px;
  border: 1px solid var(--lightgray);
  border-radius: 10px;
  background: var(--surface);
}
body[data-reading=a] .collection-card h2 {
  font-size: 1.1rem;
  margin: 0 0 14px;
}
body[data-reading=a] .collection-card p {
  color: var(--darkgray);
  font-size: 0.92rem;
  line-height: 1.85;
  margin: 0;
}
body[data-reading=a] .notes-tree {
  max-width: 52rem;
}
body[data-reading=a] .notes-tree ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
body[data-reading=a] .notes-tree li {
  margin: 0;
}
body[data-reading=a] .notes-tree > ul > .tree-branch + .tree-branch {
  margin-top: 24px;
}
body[data-reading=a] .notes-tree details {
  scroll-margin-top: 24px;
}
body[data-reading=a] .notes-tree summary {
  width: fit-content;
  max-width: 100%;
  min-height: 44px;
  padding-block: 10px;
  color: var(--dark);
  font-size: 0.96rem;
  font-weight: 600;
  line-height: 1.6;
}
body[data-reading=a] .notes-tree summary::marker {
  color: var(--darkgray);
  font-size: 0.8em;
}
body[data-reading=a] .notes-tree summary:hover {
  color: var(--secondary);
}
body[data-reading=a] .notes-tree .tree-count {
  color: var(--darkgray);
  font-size: 0.8rem;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  margin-inline-start: 8px;
}
body[data-reading=a] .notes-tree details > ul {
  margin-inline-start: 20px;
  padding-block: 4px 8px;
}
body[data-reading=a] .notes-tree .tree-document {
  padding-block: 9px;
  font-size: 0.93rem;
  line-height: 1.75;
}
body[data-reading=a] .notes-tree .tree-document > a {
  display: inline;
  padding: 0;
}
body[data-reading=a] .license-notice {
  border-top: 1px solid var(--lightgray);
  padding-block: 14px;
}
body[data-reading=a] .license-notice summary {
  padding-block: 10px;
}
body[data-reading=a] .license-notice pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 0.82rem;
}
body[data-reading=a] .home-group, body[data-reading=a] .fragment-panel {
  border: 1px solid var(--lightgray);
  background: var(--surface);
  padding: 24px 28px;
  border-radius: 12px;
}
body[data-reading=a] .home-group h2 {
  color: var(--darkgray);
  font-size: 0.84rem;
  font-weight: 500;
  margin: 0 0 18px;
  letter-spacing: 0;
}
body[data-reading=a] .home-group ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
body[data-reading=a] .home-group li {
  margin: 0;
  padding: 15px 0;
  font-size: 1.04rem;
  line-height: 1.65;
}
body[data-reading=a] .home-group li + li {
  border-top: 1px solid var(--lightgray);
}
body[data-reading=a] .home-group li > a {
  display: inline;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
  text-decoration: none;
  color: var(--dark);
}
body[data-reading=a] .home-group li > a:hover {
  color: var(--secondary);
  text-decoration: underline;
  text-underline-offset: 0.25em;
}
body[data-reading=a] .home-fragment {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
body[data-reading=a] .fragment-panel {
  display: flex;
  flex-direction: column;
  flex: 1;
  background: var(--highlight);
  border-color: var(--highlight);
}
body[data-reading=a] .home-fragment blockquote {
  border: 0;
  padding: 0;
  margin: 0;
  font-size: 1.13rem;
  line-height: 1.9;
  letter-spacing: -0.02em;
}
body[data-reading=a] .home-fragment .fragment-measure {
  position: absolute;
  inset: 0 auto auto 0;
  visibility: hidden;
  pointer-events: none;
  min-height: 0;
}
body[data-reading=a] .fragment-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
  padding-top: 20px;
}
body[data-reading=a] .home-fragment .fragment-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border-radius: 8px;
  text-decoration: none;
}
body[data-reading=a] .fragment-open svg {
  width: 18px;
  height: 18px;
}
body[data-reading=a] .fragment-open:hover {
  background: var(--surface);
}
body[data-reading=a] .home-fragment a {
  color: var(--secondary);
}
body[data-reading=a] .fragment-pagination {
  display: flex;
  align-items: center;
  gap: 4px;
}
body[data-reading=a] .fragment-pagination[hidden] {
  display: none;
}
body[data-reading=a] .fragment-pagination button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 12px;
  border: 0;
  border-radius: 8px;
  color: var(--secondary);
  background: transparent;
  cursor: pointer;
}
body[data-reading=a] .fragment-pagination button:hover {
  background: var(--surface);
}
body[data-reading=a] .fragment-pagination svg {
  width: 18px;
  height: 18px;
}
body[data-reading=a] .fragment-count {
  min-width: 4em;
  color: var(--darkgray);
  text-align: center;
  font-size: 0.8rem;
  font-variant-numeric: tabular-nums;
}
body[data-reading=a] .all-notes {
  margin-top: 32px;
  border-block: 1px solid var(--lightgray);
  padding-block: 8px;
}
body[data-reading=a] .all-notes summary {
  font-size: 0.95rem;
  padding: 16px 0;
  min-height: 48px;
}
body[data-reading=a] .all-notes summary span {
  margin-inline-start: 8px;
  font-size: 0.8rem;
  color: var(--darkgray);
  font-variant-numeric: tabular-nums;
}
body[data-reading=a] .all-notes ul {
  columns: 2;
  column-gap: 40px;
  list-style: none;
  padding: 12px 0 20px;
  margin: 0;
}
body[data-reading=a] .all-notes li {
  break-inside: avoid;
  margin: 0;
  padding: 8px 0;
  line-height: 1.65;
  font-size: 0.87rem;
}
body[data-reading=a] .all-notes a {
  text-decoration: none;
}

/* 읽을 곳: a site page outside Quartz, using the same tokens and text-only links. */
body[data-reading=a][data-gateway] .darkmode {
  padding: 0;
  color: var(--dark);
  line-height: 1;
}
body[data-reading=a][data-gateway] .gateway-main {
  display: block;
  padding-block: 44px 0;
}
body[data-reading=a] .gateway-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 16px;
  margin-bottom: 20px;
}
body[data-reading=a] .gateway-heading h1 {
  font-size: 2.5rem;
  line-height: 1.35;
  letter-spacing: -0.04em;
  margin: 0;
}
body[data-reading=a] .gateway-total, body[data-reading=a] .gateway-count {
  color: var(--darkgray);
  font-size: 0.83rem;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  margin: 0;
}
body[data-reading=a] .gateway-sections {
  border-block: 1px solid var(--lightgray);
  margin-bottom: 44px;
}
body[data-reading=a] .gateway-sections ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0 28px;
  list-style: none;
  padding: 0;
  margin: 0;
}
body[data-reading=a] .gateway-sections a {
  display: inline-block;
  padding-block: 12px;
  color: var(--dark);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
}
body[data-reading=a] .gateway-sections a:hover {
  color: var(--secondary);
  text-decoration: underline;
  text-underline-offset: 0.3em;
}
body[data-reading=a] .gateway-sections .gateway-count {
  margin-inline-start: 4px;
}
body[data-reading=a] .gateway-section {
  scroll-margin-top: 24px;
  margin-bottom: 48px;
}
body[data-reading=a] .gateway-section-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 12px;
  margin-bottom: 16px;
}
body[data-reading=a] .gateway-section-heading h2 {
  font-size: 1.3rem;
  line-height: 1.5;
  margin: 0;
}
body[data-reading=a] .gateway-groups {
  border: 1px solid var(--lightgray);
  border-radius: 12px;
  background: var(--surface);
  padding: 0 28px;
}
body[data-reading=a] .gateway-group {
  display: grid;
  grid-template-columns: 11rem minmax(0, 1fr);
  gap: 10px 28px;
  padding-block: 22px;
}
body[data-reading=a] .gateway-group + .gateway-group {
  border-top: 1px solid var(--lightgray);
}
body[data-reading=a] .gateway-group h3 {
  color: var(--darkgray);
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.65;
  margin: 0;
  word-break: keep-all;
}
body[data-reading=a] .gateway-group ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 32px;
  list-style: none;
  padding: 0;
  margin: 0;
}
body[data-reading=a] .gateway-group li {
  min-width: 0;
}
body[data-reading=a] .gateway-group li > a {
  display: inline;
  color: var(--dark);
  font-size: 1.04rem;
  font-weight: 600;
  line-height: 1.6;
  text-decoration: none;
}
body[data-reading=a] .gateway-group li > a:hover {
  color: var(--secondary);
  text-decoration: underline;
  text-underline-offset: 0.25em;
}
body[data-reading=a] .gateway-group li > p {
  color: var(--darkgray);
  font-size: 0.92rem;
  line-height: 1.7;
  margin: 4px 0 0;
  word-break: keep-all;
}
@media (max-width: 60rem) {
  body[data-reading=a] .gateway-group {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 42rem) {
  body[data-reading=a][data-gateway] .gateway-main {
    padding-top: 24px;
  }
  body[data-reading=a] .gateway-heading h1 {
    font-size: 2.1rem;
  }
  body[data-reading=a] .gateway-sections ul {
    gap: 0 20px;
  }
  body[data-reading=a] .gateway-sections a {
    font-size: 0.9rem;
    padding-block: 10px;
  }
  body[data-reading=a] .gateway-section {
    margin-bottom: 36px;
  }
  body[data-reading=a] .gateway-groups {
    padding: 0 22px;
    border-radius: 10px;
  }
  body[data-reading=a] .gateway-group {
    padding-block: 20px;
  }
  body[data-reading=a] .gateway-group ul {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
}

:root[saved-theme=dark] body[data-reading=a] {
  --light: #040414;
  --surface: #101126;
  --lightgray: #302e4a;
  --gray: #8e91ae;
  --darkgray: #acaabb;
  --dark: #eeedf5;
  --secondary: #a384d0;
  --tertiary: #c8b2ed;
  --highlight: #14182e;
  --textHighlight: #30305a;
  --graph-node: #8e91ae;
  --graph-visited: #a384d0;
  --graph-current: #7d94e8;
  --graph-selected: #7d94e8;
  --graph-edge: #343851;
  --graph-edge-active: #7d94e8;
  --graph-label: #eeedf5;
  --graph-overlay: #04041499;
  color-scheme: dark;
}

@media (max-width: 60rem) {
  body[data-reading=a] .page {
    max-width: 820px;
    padding-inline: 28px;
  }
  body[data-reading=a] #quartz-body {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "toc" "main";
    gap: 26px;
    padding-top: 28px;
  }
  body[data-reading=a] #quartz-body .sidebar.right {
    position: static;
    max-height: none;
    overflow: visible;
  }
  body[data-reading=a] .reading-toc {
    border: 1px solid var(--lightgray);
    border-radius: 8px;
    padding: 0 16px;
    background: var(--surface);
  }
  body[data-reading=a] .reading-toc nav {
    max-height: 48dvh;
    overflow-y: auto;
    padding-bottom: 16px;
  }
  body[data-reading=a] .reading-context {
    margin-bottom: 16px;
  }
  body[data-reading=a] .home-grid {
    gap: 20px;
  }
  body[data-reading=a] .home-intro {
    grid-template-columns: minmax(0, 1fr);
  }
  body[data-reading=a] .home-groups {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
  body[data-reading=a] .home-group, body[data-reading=a] .fragment-panel {
    padding: 22px;
  }
}
@media (max-width: 42rem) {
  body[data-reading=a] .page {
    padding-inline: max(18px, env(safe-area-inset-left));
  }
  body[data-reading=a] .site-header {
    gap: 12px;
    min-height: 80px;
    flex-wrap: wrap;
    padding-block: 14px;
  }
  body[data-reading=a] .site-name {
    margin-inline-end: auto;
  }
  body[data-reading=a] .site-header nav {
    order: 3;
    width: 100%;
    margin: 0;
    gap: 24px;
  }
  body[data-reading=a] .site-header nav a {
    font-size: 0.85rem;
    padding: 6px 0;
    min-height: 36px;
  }
  body[data-reading=a] .darkmode {
    width: 40px;
    height: 40px;
    padding: 10px;
  }
  body[data-reading=a] #quartz-body, body[data-reading=a][data-home] #quartz-body {
    padding-top: 24px;
  }
  body[data-reading=a] article {
    font-size: 1rem;
    line-height: 1.85;
  }
  body[data-reading=a] article h1 {
    font-size: 1.7rem;
    line-height: 1.55;
    margin-bottom: 24px;
  }
  body[data-reading=a] article h2 {
    font-size: 1.28rem;
    line-height: 1.6;
    margin-top: 36px;
  }
  body[data-reading=a] article h3 {
    font-size: 1.08rem;
  }
  body[data-reading=a] article pre {
    padding: 14px;
  }
  body[data-reading=a] .home-heading {
    margin-bottom: 24px;
  }
  body[data-reading=a] .home-heading h1 {
    font-size: 2.1rem;
  }
  body[data-reading=a] .home-count {
    font-size: 0.75rem;
  }
  body[data-reading=a] .home-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  body[data-reading=a] .home-intro, body[data-reading=a] .collection-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
  body[data-reading=a] .home-graph .graph-outer {
    min-height: 282px;
    border-radius: 10px;
  }
  body[data-reading=a] .collection-card {
    padding: 22px;
  }
  body[data-reading=a] .home-group, body[data-reading=a] .fragment-panel {
    padding: 22px;
    border-radius: 10px;
  }
  body[data-reading=a] .home-fragment blockquote {
    font-size: 1.05rem;
  }
  body[data-reading=a] .home-group li {
    font-size: 0.98rem;
  }
  body[data-reading=a] .all-notes ul {
    columns: 1;
  }
  body[data-reading=a] .page-footer {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  body[data-reading=a] .backlinks ul {
    max-height: none;
  }
  body[data-reading=a] .site-footer {
    margin-top: 40px;
  }
}
@media (prefers-reduced-motion: reduce) {
  body[data-reading=a] *, body[data-reading=a] *::before, body[data-reading=a] *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}

/* Domestic qualifications use their own table, outside the Vault document flow. */
body[data-reading=a][data-certifications] {
  --cert-c1: #2f6db5;
  --cert-c2: #c0392b;
  --cert-c3: #2c8a5a;
  --cert-c4: #b7861a;
  --cert-c5: #7a4db5;
  --cert-c6: #1b8c9c;
  --cert-c7: #a0417a;
  --cert-c8: #6b7a1f;
  --cert-c9: #4b55a3;
  --cert-c10: #b35c1e;
}
:root[saved-theme=dark] body[data-reading=a][data-certifications] {
  --cert-c1: #6fa3e6;
  --cert-c2: #e7766a;
  --cert-c3: #5fc08e;
  --cert-c4: #e0b551;
  --cert-c5: #ae8be6;
  --cert-c6: #52c1cf;
  --cert-c7: #da7bb5;
  --cert-c8: #b9c85a;
  --cert-c9: #9aa3e6;
  --cert-c10: #e8955a;
}
body[data-certifications] .cert-tone-c1 { --cert-accent: var(--cert-c1); }
body[data-certifications] .cert-tone-c2 { --cert-accent: var(--cert-c2); }
body[data-certifications] .cert-tone-c3 { --cert-accent: var(--cert-c3); }
body[data-certifications] .cert-tone-c4 { --cert-accent: var(--cert-c4); }
body[data-certifications] .cert-tone-c5 { --cert-accent: var(--cert-c5); }
body[data-certifications] .cert-tone-c6 { --cert-accent: var(--cert-c6); }
body[data-certifications] .cert-tone-c7 { --cert-accent: var(--cert-c7); }
body[data-certifications] .cert-tone-c8 { --cert-accent: var(--cert-c8); }
body[data-certifications] .cert-tone-c9 { --cert-accent: var(--cert-c9); }
body[data-certifications] .cert-tone-c10 { --cert-accent: var(--cert-c10); }
body[data-reading=a][data-certifications] .darkmode { color: var(--dark); }
body[data-reading=a][data-certifications] .page { max-width: 1600px; padding-inline: 24px; }
body[data-certifications] .cert-main { padding-block: 28px 0; }
body[data-reading=a] .cert-view-nav { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: .8rem; line-height: 1.5; margin: 0 0 12px; }
body[data-reading=a] .cert-view-nav a[aria-current=page] { color: var(--dark); font-weight: 650; }
body[data-certifications] .cert-main h1 { font-size: clamp(1.6rem, 3vw, 2rem); line-height: 1.45; margin: 0 0 12px; }
body[data-certifications] .cert-main h2 { font-size: 1.2rem; line-height: 1.5; margin: 0 0 12px; }
body[data-certifications] .cert-meta { color: var(--darkgray); font-size: .9rem; line-height: 1.8; margin: 0 0 32px; }
body[data-certifications] .cert-help { color: var(--darkgray); font-size: .9rem; line-height: 1.75; margin: 0 0 12px; }
body[data-certifications] .cert-status { color: var(--dark); font-size: .9rem; line-height: 1.6; min-block-size: 1.6em; margin: 0 0 12px; }
body[data-certifications] .cert-scroll {
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  overflow-anchor: none;
  border: 1px solid var(--lightgray);
  border-radius: 10px;
  background: var(--surface);
}
body[data-certifications] .cert-table {
  width: 100%;
  min-width: 1120px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0;
  font-size: .78125rem;
  line-height: 1.35;
}
body[data-certifications] .cert-layer-width { width: 112px; }
body[data-certifications] .cert-table th, body[data-certifications] .cert-table td {
  padding: 3px;
  vertical-align: top;
  text-align: start;
  border-block-end: 1px solid var(--lightgray);
  color: var(--dark);
  overflow-wrap: anywhere;
  word-break: keep-all;
}
/* The full table follows page scrolling; layer labels follow horizontal movement. */
body[data-certifications] .cert-table thead { position: relative; z-index: 4; }
body[data-certifications] .cert-table thead th { background: var(--surface); }
body[data-certifications] .cert-table .cert-layer {
  position: sticky;
  inset-inline-start: 0;
  z-index: 2;
  background: var(--surface);
  border-inline-end: 1px solid var(--lightgray);
  font-weight: 600;
}
body[data-certifications] .cert-table thead .cert-layer { z-index: 5; vertical-align: bottom; }
body[data-certifications] .cert-table .cert-groups th { color: var(--darkgray); font-size: .75rem; font-weight: 500; text-align: center; }
body[data-certifications] .cert-table .cert-groups .cert-layer { text-align: start; }
body[data-certifications] .cert-table .cert-group-start { border-inline-start: 2px solid var(--lightgray); }
body[data-certifications] .cert-table .cert-band th, body[data-certifications] .cert-table .cert-band td { background: var(--highlight); color: var(--darkgray); padding-block: 2px; font-size: .75rem; font-weight: 500; }
body[data-certifications] .cert-table .cert-subrow > th, body[data-certifications] .cert-table .cert-subrow > td { border-block-end-color: color-mix(in srgb, var(--lightgray) 55%, var(--surface)); }
body[data-certifications] .cert-name {
  display: block;
  width: 100%;
  min-block-size: 32px;
  border: 0;
  border-block-end: 3px solid var(--cert-accent);
  border-radius: 3px;
  padding: 5px 2px;
  background: transparent;
  color: var(--dark);
  font: inherit;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: normal;
}
body[data-certifications] .cert-name-unit { white-space: nowrap; }
body[data-certifications] .cert-name[data-cert-id=c3] { font-size: .6875rem; letter-spacing: -.05em; white-space: nowrap; padding-inline: 0; }
body[data-certifications] .cert-name:hover { background: var(--highlight); }
body[data-certifications] .cert-practical-mode { display: block; min-block-size: 2.6em; margin-block-start: 4px; color: var(--darkgray); font-size: .75rem; line-height: 1.3; font-weight: 400; text-align: center; }
body[data-certifications] .cert-grades { display: flex; margin-block-start: 4px; border: 1px solid var(--lightgray); border-radius: 5px; overflow: hidden; background: var(--light); }
body[data-certifications] .cert-grades button { flex: 1 1 0; min-width: 0; min-block-size: 32px; padding: 4px 2px; border: 0; color: var(--darkgray); background: transparent; font-size: .75rem; line-height: 1.35; }
body[data-certifications] .cert-grades button + button { border-inline-start: 1px solid var(--lightgray); }
body[data-certifications] .cert-grades button[aria-pressed=true] { background: var(--highlight); color: var(--dark); box-shadow: inset 0 -3px var(--cert-accent); font-weight: 700; }
body[data-certifications] .cert-grades button:focus-visible { outline-offset: -3px; }
body[data-certifications] .cert-table button:disabled { opacity: 1; cursor: default; }
body[data-certifications] .cert-chip { display: block; padding: 2px; margin-block-end: 3px; border-radius: 4px; border-inline-start: 3px solid var(--cert-accent); background: color-mix(in srgb, var(--cert-accent) 8%, var(--surface)); color: var(--dark); line-height: 1.3; }
body[data-certifications] .cert-chip:last-child { margin-block-end: 0; }
body[data-certifications] .cert-chip.cert-partial { border: 1px dashed var(--cert-accent); background: transparent; }
body[data-certifications] .cert-chip.cert-practical { border: 1px solid var(--cert-accent); border-inline-start-width: 3px; background: transparent; }
/* Emphasis leaves every other qualification fully readable for comparison. */
body[data-certifications] .cert-table .is-focused { background: var(--highlight); box-shadow: inset 2px 0 var(--cert-accent), inset -2px 0 var(--cert-accent); }
body[data-certifications] .cert-legend { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-block-start: 12px; color: var(--darkgray); font-size: .85rem; line-height: 1.6; }
body[data-certifications] .cert-legend > span { display: inline-flex; align-items: center; gap: 8px; }
body[data-certifications] .cert-swatch { display: inline-block; width: 20px; height: 14px; border-radius: 3px; border-inline-start: 3px solid var(--darkgray); background: var(--highlight); }
body[data-certifications] .cert-swatch.cert-partial { border: 2px dashed var(--darkgray); background: transparent; }
body[data-certifications] .cert-swatch.cert-practical { border: 2px solid var(--darkgray); border-inline-start-width: 3px; background: transparent; }
body[data-certifications] .cert-comparisons { margin-block-start: 36px; }
body[data-certifications] .cert-comparison-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; }
body[data-certifications] .cert-comparison { min-width: 0; border: 1px solid var(--lightgray); border-radius: 8px; padding: 18px; background: var(--surface); }
body[data-certifications] .cert-comparison h3 { color: var(--dark); font-size: .98rem; line-height: 1.6; margin: 0 0 8px; }
body[data-certifications] .cert-comparison p { color: var(--darkgray); font-size: .9rem; line-height: 1.75; margin: 0; }
body[data-certifications] .cert-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--cert-accent); margin-inline-end: 6px; }
body[data-certifications] .cert-dots { display: inline-flex; vertical-align: middle; gap: 4px; margin-inline-end: 6px; }
body[data-certifications] .cert-dots .cert-dot { margin: 0; }
body[data-certifications] .cert-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 42rem) {
  body[data-reading=a][data-certifications] .page { padding-inline: max(12px, env(safe-area-inset-left), env(safe-area-inset-right)); }
  body[data-certifications] .cert-main { padding-block-start: 24px; }
  body[data-certifications] .cert-layer-width { width: 88px; }
  body[data-certifications] .cert-name, body[data-certifications] .cert-grades button { min-block-size: 40px; }
}

/* Status dashboard: shared time selection, metric-specific scales. */
body[data-reading=a] .home-intro.home-intro-graph-only { grid-template-columns:minmax(0,1fr); }
body[data-status] .status-main { max-width:1120px; margin-top:32px; }
body[data-status] .status-intro { margin-bottom:16px; }
body[data-status] .status-summary { margin:20px 0 14px; padding:12px 18px; }
body[data-status] .status-summary .status-kicker { display:none; }
body[data-status] .status-summary h2 { margin:0 0 4px; font-size:1.05rem; }
body[data-status] .status-summary p, body[data-status] .status-summary ul { margin:4px 0; }
body[data-status] #status-feedback:empty { display:none; }
body[data-status] .status-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:16px 0 24px; }
body[data-status] .status-facts > div { padding:12px 16px; border:1px solid var(--lightgray); border-radius:8px; background:var(--surface); }
body[data-status] .status-facts span, body[data-status] .status-facts small { display:block; color:var(--darkgray); font-size:.8rem; }
body[data-status] .status-facts strong { display:block; font-size:1.05rem; font-weight:600; margin:5px 0; }
body[data-status] .status-inspector { display:grid; grid-template-columns:1fr auto; align-items:center; gap:8px 24px; padding:14px 18px; background:var(--highlight); border-radius:8px; }
body[data-status] .status-inspector label { font-size:.85rem; }
body[data-status] .status-inspector output { font-weight:600; margin-left:12px; }
body[data-status] .status-inspector input { grid-row:2; width:100%; margin:0; accent-color:var(--secondary); }
body[data-status] .status-inspector button { grid-column:2; grid-row:1 / 3; }
body[data-status] .status-charts { gap:16px; margin:16px 0 28px; }
body[data-status] .status-chart { padding:16px; border:1px solid var(--lightgray); border-radius:8px; background:var(--surface); }
body[data-status] .status-chart-main, body[data-status] .status-chart-compact { grid-column:1 / -1; }
body[data-status] .chart-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
body[data-status] .chart-heading h2 { font-weight:600; }
body[data-status] .status-value { font-size:1.25rem; margin:0; }
body[data-status] .chart-readout { color:var(--secondary); font-size:.8rem; font-variant-numeric:tabular-nums; min-height:1.4em; margin:8px 0; }
body[data-status] .status-chart svg { border:0; overflow:visible; }
body[data-status] .chart-grid { stroke:var(--lightgray); stroke-width:1; }
body[data-status] .chart-axis { fill:var(--darkgray); font-size:13px; }
body[data-status] .chart-empty { fill:var(--darkgray); font-size:16px; }
body[data-status] .chart-line { fill:none; stroke:var(--secondary); stroke-width:2; vector-effect:non-scaling-stroke; }
body[data-status] .chart-area { fill:var(--secondary); opacity:.09; }
body[data-status] .chart-point, body[data-status] svg .chart-bar { fill:var(--secondary); }
body[data-status] svg .chart-missing { fill:var(--gray); opacity:.1; }
body[data-status] .chart-threshold { stroke:var(--tertiary); stroke-dasharray:5 4; stroke-width:1.5; }
body[data-status] .chart-baseline { stroke:var(--gray); stroke-width:1; }
body[data-status] .chart-cursor { stroke:var(--darkgray); stroke-width:1; stroke-dasharray:2 3; }
body[data-status] .chart-legend { color:var(--darkgray); font-size:.75rem; line-height:1.6; margin:5px 0; }
body[data-status] .status-chart .status-caption { margin:6px 0; }
body[data-status] .status-chart details { margin-top:8px; }
body[data-status] .status-events { margin:24px 0; }
body[data-status] .status-events h2 { font-size:1.05rem; }
body[data-status] .status-events ul { padding-left:20px; font-size:.85rem; color:var(--darkgray); line-height:1.8; }
body[data-status] .status-events li { margin:8px 0; }
body[data-status] .status-events button { text-align:left; }
body[data-status] :is(button,input,summary):focus-visible { outline:2px solid var(--secondary); outline-offset:3px; }
@media(max-width:640px) {
  body[data-status] .status-facts { grid-template-columns:1fr; gap:8px; }
  body[data-status] .status-facts > div { display:grid; grid-template-columns:1fr 1fr; align-items:center; padding:8px 12px; }
  body[data-status] .status-facts small { grid-column:1 / -1; }
  body[data-status] .status-inspector { grid-template-columns:1fr; gap:14px; }
  body[data-status] .status-inspector button { grid-row:3; grid-column:1; }
  body[data-status] .status-inspector output { display:block; margin:6px 0 0; }
  body[data-status] .status-chart { padding:12px; }
  body[data-status] .chart-axis { font-size:22px; }
  body[data-status] .chart-empty { font-size:25px; }
}
body[data-status] .status-main > h1 { font-size:1.9rem; margin:8px 0; }
body[data-status] .status-main > .status-eyebrow { margin:0; }
body[data-status] .status-intro { margin:8px 0 16px; }
body[data-status] .status-reason-details { margin-top:6px; }
body[data-status] .status-chart-main svg { max-height:220px; }
body[data-status] .status-chart-compact svg { max-height:110px; }
body[data-status] .status-overview { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:16px; margin:18px 0; align-items:start; }
body[data-status] .status-overview .status-summary, body[data-status] .status-overview .status-facts { margin:0; }
body[data-status] .status-overview .status-facts { gap:8px; }
@media(max-width:900px) { body[data-status] .status-overview { grid-template-columns:1fr; } }
@media(max-width:640px) {
  body[data-status] .status-overview .status-facts { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body[data-status] .status-facts > div { display:block; padding:10px 8px; }
  body[data-status] .status-facts strong { font-size:.85rem; }
  body[data-status] .status-facts small { font-size:.7rem; }
}
