:root { color-scheme: dark; font-family: system-ui, sans-serif; line-height: 1.55; color: #e8e2d4; background: #171a19; }
* { box-sizing: border-box; }
body { margin: 0; }
main { max-width: 1280px; margin: auto; padding: 3rem clamp(1rem, 4vw, 4rem); }
header { max-width: 850px; margin-bottom: 2.5rem; }
header > p:first-child { color: #cbbd8f; font-size: .8rem; letter-spacing: .15em; }
h1 { font: 2.8rem/1.2 Georgia, serif; margin: .75rem 0 1rem; }
h2 { font: 1.55rem Georgia, serif; margin: 0 0 1.25rem; }
h3 { font-size: 1rem; color: #d7caa8; }
p { max-width: 80ch; }
.notice { border-left: 3px solid #cbbd8f; padding-left: 1rem; }
.columns { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
section { padding: 1.5rem 0; border-top: 1px solid #4b5046; min-width: 0; }
.controls { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin: 1.25rem 0; }
button, select { font: inherit; padding: .55rem .8rem; color: #f6efdf; background: #30382f; border: 1px solid #89917a; border-radius: 3px; }
button { cursor: pointer; }
button:hover { background: #45513f; }
:focus-visible { outline: 3px solid #eac88a; outline-offset: 4px; }
table { width: 100%; border-collapse: collapse; margin-bottom: 1.5rem; font-size: .92rem; }
th { color: #bebba9; text-align: left; font-weight: 500; }
th, td { border-bottom: 1px solid #363d34; padding: .6rem .4rem; vertical-align: top; }
summary { cursor: pointer; color: #d7caa8; padding: .45rem 0; }
li { margin: 1.15rem 0; }
li strong { font-weight: 500; }
[data-result=fail] { color: #ffad9d; }
[data-result=pass] { color: #c7d8b0; }
.tile { display: block; image-rendering: pixelated; margin: 1.5rem auto; }
code { overflow-wrap: anywhere; }
#contradiction-status { padding: .8rem 1rem; background: #242c25; border-left: 3px solid #adb991; }
#case-ledger { max-width: 780px; }
@media (max-width: 800px) { .columns { grid-template-columns: 1fr; gap: 0; } h1 { font-size: 2.2rem; } main { padding-top: 1.5rem; } }
