:root { color-scheme: light; --canvas: #ffffff; --ink: #000000; --blue: #1863dc; --cool: #d9d9dd; --deep: #212121; --muted: #93939f; --light: #f2f2f2; --secondary: #e5e7eb; }
body { background: var(--canvas); color: var(--ink); }
details[open] > summary, .source-list li + li { border-color: var(--secondary); }
.cell-divider { border-color: var(--cool); }
a { color: var(--blue); text-decoration-thickness: 1px; text-underline-offset: .2em; }
button { background: var(--canvas); color: var(--ink); border: 1px solid transparent; }
a, button, summary { transition: color 120ms ease, background-color 120ms ease, border-color 120ms ease; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible, button:focus-visible, summary:focus-visible, textarea:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.border-cool { border: 1px solid var(--cool); }
.border-dark { border: 1px solid var(--muted); }
.corner-card { border-radius: 22px; }
.corner-small { border-radius: 7px; }
.surface-white { background: var(--canvas); }
.surface-light { background: var(--light); }
.surface-deep { background: var(--deep); color: var(--canvas); box-shadow: 0 0 0 100vmax var(--deep); clip-path: inset(0 -100vmax); }
.surface-deep a { color: var(--canvas); }
.surface-deep a:focus-visible { outline-color: var(--canvas); }
.surface-deep a:hover { color: var(--canvas); background: var(--blue); }
.surface-deep p { color: var(--canvas); }
.utility-border { border-bottom: 1px solid var(--secondary); background: var(--light); }
.header-border { border-bottom: 1px solid var(--secondary); }
.footer-border { border-top: 1px solid var(--cool); }
.wordmark { color: var(--ink); text-decoration: none; }
.wordmark:hover { color: var(--blue); }
.ghost-border { background: transparent; border: 1px solid var(--cool); color: var(--ink); text-decoration: none; }
.ghost-border:hover { background: var(--blue); border-color: var(--blue); color: var(--canvas); }
.button-blue { color: var(--canvas); background: var(--blue); border: 1px solid var(--blue); text-decoration: none; }
.button-blue:hover { color: var(--blue); background: var(--canvas); }
.menu-panel { box-shadow: 0 12px 30px rgb(0 0 0 / .06); }
.menu-link { text-decoration: none; }
.menu-link:hover, .menu-link[aria-current="page"] { background: var(--light); color: var(--ink); }
.menu-summary::-webkit-details-marker { display: none; }
.menu-summary::marker { content: ""; }
.text-caption { color: var(--deep); }
.breadcrumb-current { color: var(--deep); }
.field-border { border: 1px solid var(--muted); background: var(--canvas); color: var(--ink); }
textarea::placeholder { color: var(--deep); opacity: 1; }
button:disabled { color: var(--deep); background: var(--light); border-color: var(--cool); cursor: default; }
#question-pad:target { outline: 2px solid var(--blue); outline-offset: 12px; border-radius: 7px; }
@media (prefers-reduced-motion: reduce) {
  a, button, summary { transition: none; }
}
@media print {
  .surface-deep { background: var(--canvas); color: var(--ink); box-shadow: none; clip-path: none; }
  .surface-deep a, .surface-deep p { color: var(--ink); }
}
