:root {
  --collection-ink: #0e1e2d;
  --collection-deep: #07111c;
  --collection-blue: #1d4e89;
  --collection-cyan: #00b4d8;
  --collection-teal: #0077b6;
  --collection-orange: #f77f00;
  --md-primary-fg-color: #0e1e2d;
  --md-primary-fg-color--light: #18334c;
  --md-primary-fg-color--dark: #07111c;
  --md-accent-fg-color: #f77f00;
  --md-default-bg-color: #f8fafc;
  --md-code-bg-color: #f1f5f9;
}

[data-md-color-scheme="slate"] {
  --md-default-bg-color: #0b131e;
  --md-default-fg-color: rgba(240, 246, 252, .9);
  --md-default-fg-color--light: rgba(240, 246, 252, .65);
  --md-code-bg-color: #121d2b;
  --md-typeset-a-color: #38bdf8;
}

body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; }
.md-header { background: linear-gradient(105deg, var(--collection-deep), var(--collection-ink)); box-shadow: none; }
.md-tabs { background: var(--collection-ink); }
.md-search__form { border: 1px solid rgba(0, 180, 216, .18); background: rgba(255, 255, 255, .08); }
.md-typeset h1, .md-typeset h2, .md-typeset h3 { letter-spacing: -.025em; }
.md-typeset h1 { color: var(--collection-ink); font-weight: 800; }
[data-md-color-scheme="slate"] .md-typeset h1 { color: #f1f5f9; }
.md-typeset h2 { padding-bottom: .45rem; border-bottom: 1px solid rgba(14, 30, 45, .12); font-weight: 750; }
.md-typeset code { border: 1px solid rgba(14, 30, 45, .08); border-radius: .25rem; font-size: .86em; }
.md-typeset pre > code { border: 0; font-size: .85em; }
.md-nav__link--active { font-weight: 700; color: var(--collection-cyan) !important; }

/* Shared collection navigation and reading controls. */
.md-banner { color: #dce8e4; background: var(--collection-deep); }
.collection-announce { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem 1rem; font-size: .58rem; }
.collection-announce nav, .collection-announce a { display: inline-flex; align-items: center; gap: .42rem; }
.collection-announce a { color: #fff; }
.collection-announce a:hover { text-decoration: underline; }
.collection-announce a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.collection-announce em { color: #b9d5df; font: normal .58rem monospace; }
.collection-announce-mark { display: inline-grid; place-items: center; width: 1.45rem; height: 1.45rem; border: 1px solid #718a9a; font: 800 .48rem monospace; }
.collection-reading-track { position: fixed; z-index: 20; top: 0; left: 0; width: 100%; height: 3px; pointer-events: none; }
.collection-reading-bar { display: block; width: 0; height: 100%; background: linear-gradient(90deg,var(--collection-cyan),var(--collection-orange)); }
.collection-side-tools { margin: .35rem .6rem 1rem; padding: .75rem; border: 1px solid var(--md-default-fg-color--lightest); border-radius: .5rem; background: var(--md-code-bg-color); }
.collection-side-tools__head { display: flex; justify-content: space-between; gap: .5rem; margin-bottom: .5rem; font: 700 .5rem/1.3 monospace; }
.collection-side-progress { height: .22rem; border-radius: 999px; background: var(--md-default-fg-color--lightest); overflow: hidden; }
.collection-side-progress span { display: block; width: 0; height: 100%; background: var(--collection-cyan); }
@media (max-width: 480px) { .collection-announce em { display: none; } }
