/* sim-base.css: shared by every in-world page (base_sim.html.j2). Only the FICTIONAL banner and a few neutral utilities.
   Surface identities live in content/surfaces/<surface>/<surface>.css. No external fonts or images. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; }
img, svg { max-width: 100%; }

/* Non-removable fiction banner (charter §1.3): neutral, identical on every surface, above any theme. */
.sim-banner {
  position: sticky; top: 0; z-index: 2147483647;
  display: block; margin: 0; padding: 5px 12px;
  background: #2B2B2B; color: #FFFFFF;
  font: 500 11px/1.5 ui-monospace, Menlo, Consolas, "DejaVu Sans Mono", monospace;
  letter-spacing: .06em; text-align: center; text-transform: uppercase;
}

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid #1A1A1A; outline-offset: 2px; box-shadow: 0 0 0 5px #FFFFFF; }

/* SPECIMEN watermark, embedded in the document rendering (not a separable layer). */
.specimen { position: relative; overflow: hidden; }
.specimen::before {
  content: "SPECIMEN  SPECIMEN  SPECIMEN";
  position: absolute; left: -10%; top: 38%; width: 120%;
  transform: rotate(-24deg); pointer-events: none; z-index: 1;
  font: 800 64px/1 ui-sans-serif, Arial, sans-serif; letter-spacing: .12em;
  color: rgba(170, 30, 30, .13); text-align: center; white-space: nowrap;
}
.specimen > * { position: relative; z-index: 2; }

.inert-note { font-size: .85em; opacity: .8; font-style: italic; }
.mono { font-family: ui-monospace, Menlo, Consolas, "DejaVu Sans Mono", monospace; }
.table-wrap { overflow-x: auto; max-width: 100%; }
/* Pin to Desk (sim-shell.js, postMessage v2 `pin_evidence`). */
.lo-pin { position: fixed; right: 12px; bottom: 12px; z-index: 2147483646; padding: 8px 14px; border: 1px solid #2B2B2B; border-radius: 8px; background: #FFFFFF; color: #2B2B2B; font: 600 13px/1.2 ui-sans-serif, -apple-system, Arial, sans-serif; cursor: pointer; }
.lo-pin[hidden] { display: none; }
/* In-world error pages (unknown page, unknown host). */
body.sim-error { background: #F4F4F2; color: #222222; font: 16px/1.5 ui-sans-serif, -apple-system, Arial, sans-serif; }
.sim-error-main { max-width: 640px; margin: 48px auto; padding: 0 16px; }

/* Framed in the Case player (sim-shell.js adds html.lo-framed): same text, compact and quiet on deep paper #EAE4D6,
   brand ink, mono 11 px (no external fonts in sim pages); the app shows the stamp. */
html.lo-framed .sim-banner {
  position: static; display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: 3px 10px; background: #EAE4D6; color: #1C2230; border-bottom: 1px solid #D6D0C2;
  font-weight: 500; font-size: 11px; letter-spacing: .06em; text-align: left;
}
.lo-pin.lo-pin-inline { position: static; padding: 2px 10px; border-radius: 6px; font-size: 11px; line-height: 1.4; }
