:root { color-scheme: dark; --c-page: #0a0a0a; --c-surface: #141414; --c-line: #1f1f1f; --c-text: #f5f5f5; --c-muted: #a0a0a0; --c-quiet: #888888; --c-blue: #89aacc; --c-deep-blue: #4e85bf; }
body { background-color: var(--c-page); color: var(--c-text); }
::selection { background-color: #1a2a4a; color: #f5f5f5; }
a:focus-visible { outline: 2px solid var(--c-blue); }
.c-brand__ring { border-radius: 50%; background: linear-gradient(135deg, var(--c-blue), var(--c-deep-blue)); box-shadow: 0 0 22px rgba(137,170,204,.2); }
.c-brand__ring::before { background-color: var(--c-page); border-radius: 50%; }
.c-brand__sub, .c-rail__note, .c-index__label, .c-rail__foot, .c-page-top, .c-hero__kicker, .c-section__topic, .c-asof, .c-reading__publisher, .c-next__label { color: var(--c-muted); }
.c-index__link { color: var(--c-muted); border-radius: 9999px; border: 1px solid transparent; transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease; }
.c-index__link::before { background-color: var(--c-quiet); border-radius: 50%; }
.c-index__link[aria-current='page'] { color: var(--c-text); background-color: var(--c-surface); border-color: #344453; }
.c-index__link[aria-current='page']::before { background-color: var(--c-blue); box-shadow: 0 0 10px rgba(137,170,204,.35); }
.c-index__link:hover { color: var(--c-text); background-color: var(--c-surface); }
.c-page-top { border-bottom: 1px solid var(--c-line); }
.c-hero::before { background: radial-gradient(ellipse at 75% 25%, rgba(26,42,74,.24), transparent 64%); }
.c-hero__title em { color: var(--c-blue); }
.c-hero__guide { color: var(--c-muted); }
.c-hero__lead { color: #d5d5d5; }
.c-button { color: var(--c-text); background-color: var(--c-surface); border: 1px solid transparent; border-radius: 9999px; isolation: isolate; transition: background-color 180ms ease, box-shadow 180ms ease; }
.c-button::before { background: linear-gradient(125deg, var(--c-blue), var(--c-deep-blue), #344453); border-radius: inherit; }
.c-button::after { background-color: var(--c-surface); border-radius: inherit; transition: background-color 180ms ease; }
.c-button:hover { box-shadow: 0 0 22px rgba(137,170,204,.16); }
.c-button:hover::after { background-color: #19222a; }
.c-text-link { color: var(--c-blue); }
.c-text-link:hover { color: var(--c-text); }
.c-section, .c-reading { border-top: 1px solid var(--c-line); }
.c-section__body p, .c-list, .c-reading__body { color: #d5d5d5; }
.c-prompt { background-color: var(--c-surface); border-left: 2px solid var(--c-deep-blue); border-radius: 0 14px 14px 0; }
.c-prompt__label { color: var(--c-muted); }
.c-prompt p { color: var(--c-text); }
.c-route { border-top: 1px solid var(--c-line); }
.c-route__desc { color: var(--c-muted); }
.c-route__arrow { color: var(--c-blue); transition: transform 180ms ease; }
.c-route:hover .c-route__title { color: var(--c-blue); }
.c-route:hover .c-route__arrow { transform: translateX(4px); }
.c-drug + .c-drug { border-top: 1px solid var(--c-line); }
.c-reading__limit { color: var(--c-muted); border-left: 1px solid #344453; }
.c-urgent { background-color: var(--c-surface); border: 1px solid #344453; border-radius: 16px; }
.c-urgent h2 { color: var(--c-blue); }
.c-next { background-color: var(--c-surface); border: 1px solid var(--c-line); border-radius: 20px; }
.c-footer { border-top: 1px solid var(--c-line); color: var(--c-muted); }
.c-footer__links a:hover { color: var(--c-text); }
.c-progress progress { background-color: transparent; color: var(--c-blue); }
.c-progress progress::-webkit-progress-bar { background-color: transparent; }
.c-progress progress::-webkit-progress-value { background: linear-gradient(90deg, var(--c-blue), var(--c-deep-blue)); box-shadow: 0 0 12px rgba(137,170,204,.35); }
.c-progress progress::-moz-progress-bar { background: linear-gradient(90deg, var(--c-blue), var(--c-deep-blue)); }
.c-skip { color: var(--c-text); background-color: var(--c-surface); border: 1px solid var(--c-blue); border-radius: 9999px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
@media print {
  :root { color-scheme: light; }
  body { background-color: white; color: black; }
  .c-hero__title em, .c-section__topic, .c-hero__guide, .c-hero__lead, .c-section__body p, .c-list, .c-reading__body, .c-reading__limit, .c-reading__publisher, .c-asof, .c-footer, .c-text-link { color: black; }
  .c-prompt, .c-urgent { background-color: white; color: black; }
  .c-prompt p, .c-prompt__label, .c-urgent h2 { color: black; }
}
