:root {
  --pmr-accent: #3468d4;
  --pmr-accent-strong: #1f4da7;
  --pmr-bg: #ffffff;
  --pmr-text: #172033;
  --pmr-muted: #5a6477;
  --pmr-border: #d7deea;
  --pmr-code: #f4f6fa;
  --pmr-info: #eaf2ff;
  --pmr-tip: #e7f7ef;
  --pmr-warning: #fff4d7;
  --pmr-danger: #feecec;
  --theme-color: var(--pmr-accent);
  color-scheme: light dark;
}

body { background: var(--pmr-bg); color: var(--pmr-text); font-size: 16px; line-height: 1.7; }
.markdown-section { max-width: 920px; overflow-wrap: anywhere; }
.markdown-section code, .markdown-section pre { font-variant-ligatures: none; }
.markdown-section pre { overflow-x: auto; background: var(--pmr-code); border: 1px solid var(--pmr-border); }
.markdown-section table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.markdown-section th, .markdown-section td { border-color: var(--pmr-border); }
.markdown-section a { color: var(--pmr-accent-strong); text-underline-offset: .15em; }
.markdown-section blockquote { color: var(--pmr-text); border-inline-start: .32rem solid var(--pmr-accent); background: var(--pmr-info); padding: .7rem 1rem; }
.markdown-section blockquote.tip { border-color: #2a8b57; background: var(--pmr-tip); }
.markdown-section blockquote.warn { border-color: #b46b00; background: var(--pmr-warning); }
.markdown-section blockquote.danger { border-color: #b72c2c; background: var(--pmr-danger); }
.sidebar, .sidebar ul li a { color: var(--pmr-text); }
.sidebar-nav > ul > li > p { color: var(--pmr-muted); font-weight: 700; letter-spacing: .02em; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid #f0a500; outline-offset: 3px; }
.skip-link { position: fixed; inset: .5rem auto auto .5rem; z-index: 9999; transform: translateY(-150%); background: var(--pmr-bg); color: var(--pmr-text); padding: .6rem 1rem; border: 2px solid var(--pmr-accent); }
.skip-link:focus { transform: none; }
.no-script { max-width: 48rem; margin: 4rem auto; padding: 1rem; }

@media (prefers-color-scheme: dark) {
  :root {
    --pmr-accent: #8bb2ff;
    --pmr-accent-strong: #a9c7ff;
    --pmr-bg: #111723;
    --pmr-text: #e8edf7;
    --pmr-muted: #b2bdd0;
    --pmr-border: #3a465c;
    --pmr-code: #182131;
    --pmr-info: #172a49;
    --pmr-tip: #153527;
    --pmr-warning: #3d2f12;
    --pmr-danger: #421d23;
  }
  .sidebar, body.close .sidebar { background: #0d131e; }
  .search input { color: var(--pmr-text); background: var(--pmr-bg); }
}

@media (max-width: 768px) {
  .markdown-section { padding: 1.25rem 1rem 3rem; }
  .app-nav { max-width: calc(100vw - 3rem); overflow-x: auto; white-space: nowrap; }
}

@media print {
  .sidebar, .app-nav, .github-corner, .search, .sidebar-toggle, .skip-link { display: none !important; }
  body, .content, .markdown-section { margin: 0 !important; padding: 0 !important; max-width: none !important; color: #000; background: #fff; }
  a { color: #000 !important; text-decoration: underline; }
  pre, table, blockquote { break-inside: avoid; }
}
