.site-nav { position: sticky; top: 0; z-index: 20; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 16px 32px; border-bottom: 1px solid #bbc5be; background: #fff; color: #17201b; font: 13px/1.4 "SFMono-Regular", Consolas, "Liberation Mono", monospace; box-sizing: border-box; }
.site-nav .site-wordmark { font-size: 15px; font-weight: 400; letter-spacing: -.035em; text-decoration: none; white-space: nowrap; color: #17201b; }
.site-nav .site-wordmark span { color: #526057; }
.site-nav nav { display: flex; gap: 3px; flex-wrap: wrap; justify-content: flex-end; border: 1px solid #87958b; padding: 3px; border-radius: 3px; font-size: 12px; }
.site-nav nav a { color: #17201b; text-decoration: none; white-space: nowrap; padding: 6px 10px; }
.site-nav nav a:hover { background: #eff4f0; }
.site-nav nav a[aria-current=page] { background: #17201b; color: #fff; }
.site-nav a:focus-visible { outline: 2px solid #3a5d44; outline-offset: 3px; }
body:has(>.site-nav) { margin: 0; padding: 0; max-width: none; }
html:has(canvas#game), html:has(.evidence-document) { color-scheme: light; }
body:has(canvas#game), body:has(.evidence-document) { background: #fff; color: #17201b; font: 15px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }
body:has(canvas#game)>main { padding: 32px; max-width: 1360px; margin: auto; }
body:has(canvas#game) h1 { font: 400 29px/1.3 Georgia, serif; margin: 0 0 10px; overflow-wrap: anywhere; }
body:has(canvas#game) .muted { color: #526057; font: 14px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }
.replay-screen { margin-top: 24px; overflow: auto; border: 1px solid #84938a; background: #080b10; }
.replay-screen:focus-visible { outline: 2px solid #3a5d44; outline-offset: 3px; }
body canvas#game { display: block; width: 100%; height: auto; margin: 0; border: 0; border-radius: 0; }
.replay-screen.is-zoomed { max-height: 80vh; }
.replay-screen.is-zoomed #game { width: 1280px; max-width: none; }
body:has(canvas#game) .controls { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 16px 0; margin: 0; border-bottom: 1px solid #cbd2cd; }
body:has(canvas#game) button, body:has(canvas#game) select { background: #fff; color: #17201b; border: 1px solid #8a968e; border-radius: 3px; min-height: 40px; padding: 8px 12px; font: 14px -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }
body:has(canvas#game) button:hover { background: #eff4f0; cursor: pointer; }
body:has(canvas#game) button[aria-pressed=true] { background: #17201b; color: #fff; }
body:has(canvas#game) #play { background: #3a5d44; border-color: #3a5d44; color: #fff; min-width: 72px; }
body:has(canvas#game) #timeline { flex: 1 1 180px; width: auto; min-width: 100px; accent-color: #3a5d44; }
body:has(canvas#game) #marks { padding: 16px 0; gap: 8px; margin: 0; }
body:has(canvas#game) #marks:empty { display: none; }
body:has(canvas#game) #replay-reader-v1 { border: 1px solid #a5b1a8; border-radius: 0; padding: 16px 20px; margin: 8px 0 20px; }
body:has(canvas#game) #inventory-summary { cursor: pointer; font-weight: 600; }
body:has(canvas#game) #inventory-full { border-top: 1px solid #cbd2cd; padding-top: 16px; font: 14px/1.7 "SFMono-Regular", Consolas, monospace; }
.evidence-document { max-width: 1000px; margin: 36px auto; padding: 0 24px; overflow-wrap: anywhere; }
.evidence-document h1 { font: 400 29px/1.3 Georgia, serif; }
.evidence-document details { border-bottom: 1px solid #cbd2cd; padding: 16px 0; }
.evidence-document summary { cursor: pointer; font-weight: 600; }
.evidence-document pre { line-height: 1.7; }
@media(max-width:700px) {
  .site-nav { align-items: flex-start; flex-direction: column; gap: 12px; padding: 14px 20px; }
  .site-nav nav { justify-content: flex-start; font-size: 11px; max-width: 100%; }
  .site-nav nav a { padding: 6px 7px; }
  .site-nav .site-wordmark { font-size: 14px; }
  body:has(canvas#game)>main { padding: 24px 16px; }
  body:has(canvas#game) h1 { font-size: 24px; }
  body:has(canvas#game) #timeline { order: -1; flex-basis: 100%; min-height: 28px; }
  body:has(canvas#game) .controls button, body:has(canvas#game) .controls select { font-size: 14px; }
  body:has(canvas#game) #replay-reader-v1 { padding: 14px; }
}
