
/* Build 2.1 interaction fix */
[hidden] {
  display: none !important;
}
.breach-overlay {
  pointer-events: none;
}
.breach-overlay.active {
  pointer-events: auto;
}


:root {
  color-scheme: dark;
  --bg: #08090a;
  --surface: #111315;
  --surface-2: #171a1d;
  --surface-3: #202428;
  --line: #30363b;
  --line-strong: #4a535a;
  --text: #f1eee8;
  --muted: #a7adb1;
  --dim: #747c82;
  --red: #a41f26;
  --red-bright: #d23a42;
  --red-soft: rgba(164,31,38,.15);
  --green: #a7d59a;
  --amber: #e5b65c;
  --shadow: 0 20px 70px rgba(0,0,0,.4);
  --sidebar: 276px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at 75% 0%, rgba(164,31,38,.08), transparent 32rem),
    var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: .01em;
}
button, input, select { font: inherit; }
button { color: inherit; }
a { color: inherit; }
.skip-link {
  position: fixed; left: 1rem; top: -4rem; z-index: 1000;
  background: var(--text); color: var(--bg); padding: .8rem 1rem; border-radius: .3rem;
}
.skip-link:focus { top: 1rem; }
.noise {
  position: fixed; inset: 0; pointer-events: none; z-index: 999;
  opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.85'/%3E%3C/svg%3E");
}
.scanlines {
  position: fixed; inset: 0; pointer-events: none; z-index: 998;
  opacity: .025;
  background: repeating-linear-gradient(to bottom, transparent 0 3px, #fff 4px);
}
.topbar {
  position: fixed; inset: 0 0 auto 0; z-index: 50;
  height: 70px; display: flex; align-items: center; gap: 1rem;
  padding: 0 1.2rem;
  border-bottom: 1px solid var(--line);
  background: rgba(8,9,10,.92);
  backdrop-filter: blur(18px);
}
.menu-button {
  display: none; border: 1px solid var(--line); background: var(--surface);
  width: 42px; height: 42px; border-radius: .45rem; cursor: pointer;
}
.brand { display: flex; align-items: center; gap: .8rem; min-width: var(--sidebar); }
.brand-mark {
  display: grid; place-items: center; width: 38px; height: 38px;
  border: 1px solid var(--line-strong); border-radius: 50%;
  color: var(--red-bright); font-size: 1.3rem;
}
.brand strong { display: block; font-size: .88rem; letter-spacing: .16em; }
.brand span:not(.brand-mark) { display: block; margin-top: .18rem; color: var(--muted); font-size: .68rem; letter-spacing: .12em; }
.clearance { margin-left: auto; color: var(--muted); font-size: .76rem; letter-spacing: .12em; }
.live-dot { display: inline-block; width: .55rem; height: .55rem; border-radius: 50%; background: var(--red-bright); margin-right: .4rem; box-shadow: 0 0 14px var(--red-bright); animation: blink 1.2s steps(2,end) infinite; }

.app-shell { display: grid; grid-template-columns: var(--sidebar) minmax(0, 1fr); min-height: 100vh; padding-top: 70px; }
.sidebar {
  position: fixed; top: 70px; left: 0; bottom: 0; width: var(--sidebar);
  display: flex; flex-direction: column;
  padding: 1rem;
  border-right: 1px solid var(--line);
  background: rgba(12,14,15,.96);
  overflow-y: auto;
  z-index: 40;
}
.subject-mini {
  display: flex; align-items: center; gap: .75rem;
  padding: .75rem; margin-bottom: .9rem;
  border: 1px solid var(--line); background: var(--surface); border-radius: .55rem;
}
.mini-avatar { width: 48px; height: 48px; flex: 0 0 auto; color: var(--text); }
.mini-avatar svg { width: 100%; height: 100%; }
.subject-mini strong { display: block; font-size: .85rem; letter-spacing: .12em; }
.subject-mini span { display: block; margin-top: .2rem; color: var(--red-bright); font-size: .65rem; letter-spacing: .08em; }
.nav-list { display: grid; gap: .3rem; }
.nav-item {
  display: grid; grid-template-columns: 2.2rem 1fr; align-items: center;
  width: 100%; border: 1px solid transparent; background: transparent;
  color: var(--muted); text-align: left; padding: .72rem .75rem; border-radius: .4rem; cursor: pointer;
}
.nav-item span { color: var(--dim); font: 700 .65rem/1 ui-monospace, SFMono-Regular, Menlo, monospace; }
.nav-item:hover { background: var(--surface); color: var(--text); }
.nav-item.active { background: var(--red-soft); border-color: rgba(210,58,66,.35); color: var(--text); }
.nav-item.active span { color: var(--red-bright); }
.sidebar-warning {
  margin-top: auto; padding: .9rem; border: 1px solid var(--red); background: var(--red-soft);
}
.sidebar-warning strong { color: var(--red-bright); font-size: .7rem; letter-spacing: .14em; }
.sidebar-warning p { margin: .55rem 0 0; font: 800 .72rem/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; }

.main { grid-column: 2; min-width: 0; padding: clamp(1.2rem, 3vw, 2.4rem); }
.view { display: none; animation: viewIn .25s ease both; }
.view.active { display: block; }
.section-head {
  display: flex; align-items: end; justify-content: space-between; gap: 1rem;
  padding-bottom: 1rem; margin-bottom: 1.4rem; border-bottom: 1px solid var(--line);
}
.section-head h1 { margin: .25rem 0 0; font-size: clamp(2rem, 5vw, 4.2rem); line-height: .95; letter-spacing: -.04em; text-transform: uppercase; }
.eyebrow { color: var(--red-bright); font: 700 .72rem/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .14em; }
.classification {
  flex: 0 0 auto; padding: .5rem .7rem; border: 1px solid var(--red);
  color: var(--red-bright); background: var(--red-soft);
  font: 800 .68rem/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .1em;
}
.hero {
  position: relative; min-height: 600px; overflow: hidden;
  display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr); align-items: center; gap: 1rem;
  border: 1px solid var(--line); background: linear-gradient(145deg, rgba(17,19,21,.96), rgba(10,11,12,.96));
}
.hero::before {
  content: ""; position: absolute; inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 48px 48px; mask-image: linear-gradient(to right, #000, transparent);
}
.hero-copy { position: relative; z-index: 2; padding: clamp(1.5rem, 4vw, 4rem); }
.hero h1 { margin: .7rem 0 1.2rem; font-size: clamp(3.4rem, 8vw, 8.5rem); line-height: .78; letter-spacing: -.07em; }
.hero h1 span { color: var(--red-bright); font-size: .33em; letter-spacing: .04em; }
.hero-lede { max-width: 58rem; color: var(--muted); font-size: 1.05rem; line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.6rem; }
.primary, .secondary {
  border: 1px solid var(--red); padding: .8rem 1rem; border-radius: .35rem;
  cursor: pointer; font-weight: 750;
}
.primary { background: var(--red); color: white; }
.primary:hover { background: var(--red-bright); }
.secondary { background: transparent; color: var(--text); border-color: var(--line-strong); }
.secondary:hover { border-color: var(--text); background: rgba(255,255,255,.04); }
.compact { padding: .65rem .8rem; font-size: .82rem; }
.hero-visual { position: relative; display: grid; place-items: center; height: 100%; min-height: 500px; }
.duck-card { position: relative; z-index: 2; width: min(78%, 420px); filter: drop-shadow(0 25px 50px rgba(0,0,0,.45)); }
.duck-card svg { width: 100%; height: auto; }
.subject-stamp {
  position: absolute; left: 50%; bottom: 4%; transform: translateX(-50%) rotate(-5deg);
  white-space: nowrap; border: .2rem solid var(--red-bright); color: var(--red-bright);
  padding: .4rem .7rem; font: 900 clamp(.65rem, 1.6vw, 1rem)/1 ui-monospace, monospace;
  letter-spacing: .1em; opacity: .92;
}
.orbit { position: absolute; border: 1px solid rgba(210,58,66,.25); border-radius: 50%; }
.orbit-a { width: 440px; height: 440px; animation: spin 18s linear infinite; }
.orbit-b { width: 560px; height: 300px; transform: rotate(35deg); animation: spinB 24s linear infinite; }

.metrics {
  display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .8rem; margin: .8rem 0 1.5rem;
}
.metric {
  border: 1px solid var(--line); background: var(--surface); padding: 1rem;
}
.metric span { display: block; color: var(--muted); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.metric strong { display: block; margin-top: .4rem; font-size: clamp(1.5rem, 3vw, 2.35rem); }
.metric small { display: block; margin-top: .35rem; color: var(--dim); }
.overview-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .8rem; }
.panel {
  border: 1px solid var(--line); background: rgba(17,19,21,.94);
  padding: clamp(1rem, 2.5vw, 1.5rem);
}
.panel-head {
  display: flex; justify-content: space-between; gap: 1rem; padding-bottom: .7rem; margin-bottom: 1rem;
  border-bottom: 1px solid var(--line); color: var(--muted);
  font: 700 .66rem/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em;
}
.panel h2 { margin: 0 0 .75rem; font-size: 1.35rem; }
.panel p { color: var(--muted); line-height: 1.65; }
.alert-panel { border-color: rgba(210,58,66,.5); background: linear-gradient(140deg, var(--red-soft), var(--surface)); }
.quote-block { margin-top: 1rem; padding: .8rem 1rem; border-left: 3px solid var(--red-bright); background: rgba(255,255,255,.035); color: var(--text); font-style: italic; }
.text-button { border: 0; background: transparent; color: var(--red-bright); padding: .2rem 0; cursor: pointer; font-weight: 750; }

.profile-layout { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); gap: .8rem; }
.profile-card { padding: 0; overflow: hidden; }
.mugshot { position: relative; min-height: 530px; display: grid; place-items: center; background: #d8d5cd; color: #151719; }
.mugshot svg { position: relative; width: min(85%, 420px); z-index: 2; }
.height-lines {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(to bottom, transparent 0 51px, rgba(0,0,0,.2) 52px 53px);
}
.mugshot-label {
  position: absolute; left: 1rem; right: 1rem; bottom: 1rem; z-index: 3;
  background: #111; color: #fff; padding: .7rem; text-align: center; font: 800 .78rem/1 ui-monospace, monospace; letter-spacing: .1em;
}
.profile-fields dl { margin: 0; }
.profile-fields dl > div {
  display: grid; grid-template-columns: minmax(140px,.4fr) 1fr; gap: 1rem;
  padding: .85rem 0; border-bottom: 1px solid var(--line);
}
.profile-fields dt { color: var(--muted); text-transform: uppercase; font: 700 .7rem/1.4 ui-monospace, monospace; letter-spacing: .08em; }
.profile-fields dd { margin: 0; }
.profile-notes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .8rem; margin-top: .8rem; }

.archive-controls {
  display: grid; grid-template-columns: minmax(220px,1.4fr) repeat(2,minmax(150px,.7fr)) auto;
  gap: .75rem; align-items: end; margin-bottom: .8rem;
}
.archive-controls label { display: grid; gap: .4rem; color: var(--muted); font-size: .75rem; }
.archive-controls input, .archive-controls select {
  width: 100%; min-height: 44px; border: 1px solid var(--line-strong); border-radius: .3rem;
  background: #0b0d0e; color: var(--text); padding: 0 .75rem; outline: none;
}
.archive-controls input:focus, .archive-controls select:focus { border-color: var(--red-bright); box-shadow: 0 0 0 3px var(--red-soft); }
.result-line { display: flex; justify-content: space-between; gap: 1rem; color: var(--muted); font-size: .78rem; margin: 1rem 0; }
.result-line span:first-child { color: var(--text); font-weight: 700; }
.crime-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }
.crime-card {
  position: relative; min-height: 170px; padding: 1rem;
  border: 1px solid var(--line); background: var(--surface); cursor: pointer;
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.crime-card:hover { transform: translateY(-2px); border-color: var(--line-strong); background: var(--surface-2); }
.crime-index { color: var(--red-bright); font: 700 .68rem/1 ui-monospace, monospace; }
.crime-card h3 { margin: .8rem 0 .45rem; font-size: 1rem; }
.crime-card p { margin: 0; color: var(--muted); font-size: .77rem; line-height: 1.45; }
.crime-meta { position: absolute; left: 1rem; right: 1rem; bottom: .85rem; display: flex; justify-content: space-between; gap: .6rem; color: var(--dim); font-size: .65rem; }
.badge { display: inline-flex; align-items: center; width: fit-content; padding: .28rem .45rem; border: 1px solid var(--line); color: var(--muted); font-size: .66rem; }
.badge.red { color: var(--red-bright); border-color: rgba(210,58,66,.4); background: var(--red-soft); }

.feat-controls { grid-template-columns: minmax(240px,1.4fr) minmax(180px,.6fr); }
.feat-list { display: grid; gap: .65rem; }
.feat-card {
  display: grid; grid-template-columns: 4.2rem minmax(0,1fr) minmax(180px,.38fr); gap: 1rem; align-items: start;
  padding: 1rem; border: 1px solid var(--line); background: var(--surface);
}
.feat-number {
  display: grid; place-items: center; width: 3.1rem; height: 3.1rem; border: 1px solid var(--red);
  color: var(--red-bright); font: 800 .8rem/1 ui-monospace, monospace;
}
.feat-card h3 { margin: 0 0 .45rem; }
.feat-card p { margin: 0; color: var(--muted); line-height: 1.55; }
.feat-side { display: grid; gap: .4rem; justify-items: end; text-align: right; }

.ranking-switch { display: flex; gap: .4rem; margin-bottom: .8rem; }
.ranking-switch button {
  border: 1px solid var(--line); background: var(--surface); padding: .75rem 1rem; cursor: pointer;
}
.ranking-switch button.active { background: var(--red); border-color: var(--red); }
.ranking-explainer { margin-bottom: .8rem; }
.ranking-list { display: grid; gap: .55rem; }
.rank-card {
  display: grid; grid-template-columns: 80px minmax(0,1fr) minmax(200px,.5fr); gap: 1rem; align-items: center;
  padding: 1rem; border: 1px solid var(--line); background: var(--surface);
}
.rank-num { font: 900 2rem/1 ui-monospace, monospace; color: var(--red-bright); }
.rank-card h3 { margin: 0 0 .35rem; }
.rank-card p { margin: 0; color: var(--muted); line-height: 1.5; }
.score-bars { display: grid; gap: .35rem; }
.score-row { display: grid; grid-template-columns: 80px 1fr 22px; gap: .45rem; align-items: center; font-size: .65rem; color: var(--muted); }
.score-track { height: 7px; background: #090a0b; border: 1px solid var(--line); }
.score-fill { height: 100%; background: var(--red-bright); }

.compact-metrics { margin-top: 0; }
.intervention-list { display: grid; gap: .65rem; }
.intervention-card {
  display: grid; grid-template-columns: minmax(180px,.55fr) minmax(0,1.45fr); gap: 1rem;
  border: 1px solid var(--line); background: var(--surface); padding: 1rem;
}
.intervention-card h3 { margin: .35rem 0; font-size: 1.2rem; }
.intervention-card .asset-no { color: var(--red-bright); font: 700 .67rem/1 ui-monospace, monospace; }
.intervention-card dl { margin: 0; display: grid; gap: .65rem; }
.intervention-card dl > div { display: grid; grid-template-columns: 145px 1fr; gap: .8rem; }
.intervention-card dt { color: var(--muted); font: 700 .66rem/1.4 ui-monospace, monospace; text-transform: uppercase; }
.intervention-card dd { margin: 0; line-height: 1.5; }
.intervention-quote { margin-top: .8rem; padding: .75rem; border-left: 3px solid var(--red-bright); background: rgba(255,255,255,.03); font-style: italic; }

.trophy-warning { margin-bottom: .8rem; border-color: rgba(210,58,66,.5); }
.trophy-warning strong { color: var(--red-bright); }
.trophy-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }
.trophy-card { border: 1px solid var(--line); background: var(--surface); padding: 1rem; min-height: 260px; display: flex; flex-direction: column; }
.trophy-card.sealed { background: repeating-linear-gradient(135deg, var(--surface), var(--surface) 10px, #151719 10px, #151719 20px); }
.trophy-card h3 { margin: .65rem 0 .25rem; }
.trophy-card .owner { color: var(--red-bright); font: 700 .68rem/1 ui-monospace, monospace; letter-spacing: .08em; }
.trophy-card p { color: var(--muted); line-height: 1.5; }
.trophy-info { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin-top: .6rem; }
.trophy-info div { border: 1px solid var(--line); padding: .55rem; }
.trophy-info span { display: block; color: var(--dim); font-size: .6rem; text-transform: uppercase; }
.trophy-info strong { display: block; margin-top: .2rem; font-size: .75rem; }
.trophy-quote { margin-top: auto; padding-top: .75rem; border-top: 1px solid var(--line); font-style: italic; color: var(--text); }

.protocol-banner {
  display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .4rem; margin-bottom: .8rem;
}
.protocol-banner span { border: 1px solid var(--red); background: var(--red-soft); color: var(--red-bright); padding: .8rem; text-align: center; font: 800 .7rem/1.35 ui-monospace, monospace; }
.protocol-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }
.protocol-card { display: grid; grid-template-columns: 90px 1fr; gap: 1rem; border: 1px solid var(--line); background: var(--surface); padding: 1rem; }
.protocol-code { color: var(--red-bright); font: 800 .66rem/1.4 ui-monospace, monospace; }
.protocol-card h3 { margin: 0 0 .4rem; }
.protocol-card p { margin: 0; color: var(--muted); line-height: 1.55; }
.redaction-panel { margin-top: .8rem; }
.redacted { font: 800 .92rem/1.8 ui-monospace, monospace; letter-spacing: .12em; color: #c3c7ca; }
.redaction-warning { color: var(--red-bright)!important; }
.source-note { margin-bottom: .8rem; }
.source-list { display: grid; gap: .65rem; }
.source-card { display: grid; grid-template-columns: minmax(220px,.7fr) minmax(0,1.3fr); gap: 1rem; border: 1px solid var(--line); background: var(--surface); padding: 1rem; }
.source-card h3 { margin: 0 0 .35rem; }
.source-card code { color: var(--red-bright); font-size: .76rem; }
.source-card p { margin: 0; color: var(--muted); line-height: 1.55; }

.footer { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--dim); font: 700 .65rem/1.3 ui-monospace, monospace; }

dialog {
  width: min(720px, calc(100% - 2rem)); max-height: min(80vh, 760px); overflow: auto;
  border: 1px solid var(--line-strong); background: var(--surface); color: var(--text); box-shadow: var(--shadow); padding: 1.2rem;
}
dialog::backdrop { background: rgba(0,0,0,.75); backdrop-filter: blur(6px); }
.dialog-close { float: right; border: 1px solid var(--line); background: transparent; width: 38px; height: 38px; cursor: pointer; font-size: 1.4rem; }
.dialog-record { padding-top: 1rem; }
.dialog-record .record-number { color: var(--red-bright); font: 700 .72rem/1 ui-monospace, monospace; }
.dialog-record h2 { font-size: 2rem; margin: .7rem 0; }
.dialog-record p { color: var(--muted); line-height: 1.65; }
.dialog-meta { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; margin-top: 1rem; }
.dialog-meta div { border: 1px solid var(--line); padding: .7rem; }
.dialog-meta span { display: block; color: var(--dim); font-size: .65rem; text-transform: uppercase; }
.dialog-meta strong { display: block; margin-top: .25rem; font-size: .85rem; }

.blink { color: var(--red-bright); animation: blink 1.1s steps(2,end) infinite; }
.empty-state { border: 1px dashed var(--line-strong); color: var(--muted); padding: 2rem; text-align: center; grid-column: 1 / -1; }

@keyframes blink { 50% { opacity: .25; } }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes spinB { from { transform: rotate(35deg); } to { transform: rotate(395deg); } }
@keyframes viewIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

@media (max-width: 1100px) {
  .crime-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .profile-notes { grid-template-columns: 1fr; }
  .metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .archive-controls { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .feat-card { grid-template-columns: 3.5rem minmax(0,1fr); }
  .feat-side { grid-column: 2; justify-items: start; text-align: left; }
  .protocol-banner { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 860px) {
  :root { --sidebar: 278px; }
  .menu-button { display: grid; place-items: center; }
  .brand { min-width: 0; }
  .brand span:not(.brand-mark) { display: none; }
  .sidebar { transform: translateX(-102%); transition: transform .22s ease; box-shadow: var(--shadow); }
  .sidebar.open { transform: translateX(0); }
  .app-shell { display: block; }
  .main { padding: 1rem; }
  .hero { grid-template-columns: 1fr; min-height: 0; }
  .hero-copy { padding-bottom: 0; }
  .hero-visual { min-height: 430px; }
  .profile-layout { grid-template-columns: 1fr; }
  .overview-grid { grid-template-columns: 1fr; }
  .trophy-grid { grid-template-columns: 1fr; }
  .rank-card { grid-template-columns: 65px minmax(0,1fr); }
  .rank-card > :last-child { grid-column: 2; }
  .intervention-card { grid-template-columns: 1fr; }
  .protocol-list { grid-template-columns: 1fr; }
  .source-card { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .topbar { padding: 0 .7rem; }
  .clearance { font-size: .62rem; }
  .brand strong { font-size: .72rem; }
  .hero h1 { font-size: clamp(3.1rem, 18vw, 5.6rem); }
  .hero-visual { min-height: 360px; }
  .metrics, .crime-grid, .archive-controls, .protocol-banner { grid-template-columns: 1fr; }
  .section-head { align-items: flex-start; flex-direction: column; }
  .classification { align-self: flex-start; }
  .profile-fields dl > div { grid-template-columns: 1fr; gap: .3rem; }
  .feat-card { grid-template-columns: 1fr; }
  .feat-side { grid-column: auto; }
  .rank-card { grid-template-columns: 1fr; }
  .rank-card > :last-child { grid-column: auto; }
  .intervention-card dl > div { grid-template-columns: 1fr; gap: .2rem; }
  .protocol-card { grid-template-columns: 1fr; }
  .result-line { flex-direction: column; }
  .dialog-meta { grid-template-columns: 1fr; }
}


/* Build 2.0 additions */
.case-ticker {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: .8rem;
  margin: -.7rem 0 1.5rem;
  border: 1px solid var(--line);
  background: #090b0c;
  overflow: hidden;
}
.ticker-label {
  position: relative;
  z-index: 2;
  align-self: stretch;
  display: grid;
  place-items: center;
  padding: .75rem 1rem;
  background: var(--red);
  color: white;
  font: 800 .66rem/1 ui-monospace, monospace;
  letter-spacing: .09em;
  white-space: nowrap;
}
.ticker-window { overflow: hidden; }
.ticker-track {
  display: flex;
  width: max-content;
  gap: 2rem;
  padding: .7rem 0;
  animation: chargeTicker 44s linear infinite;
  color: var(--muted);
  font: 700 .68rem/1 ui-monospace, monospace;
  letter-spacing: .06em;
}
.ticker-track span::before { content: "◆"; color: var(--red-bright); margin-right: .55rem; }

.evidence-board {
  position: relative;
  margin-top: 1.3rem;
  padding: clamp(1rem, 3vw, 2rem);
  border: 1px solid #6b5743;
  background:
    linear-gradient(rgba(70,44,25,.08), rgba(70,44,25,.08)),
    repeating-linear-gradient(0deg, #cab99b 0 2px, #c4b293 3px 4px);
  color: #1b1814;
  box-shadow: inset 0 0 90px rgba(78,46,24,.18);
}
.evidence-board::after {
  content: "";
  position: absolute; inset: 0; pointer-events: none; opacity: .25;
  background: radial-gradient(circle at 12% 15%, rgba(90,41,20,.5), transparent 9rem),
              radial-gradient(circle at 87% 75%, rgba(90,41,20,.4), transparent 11rem);
}
.board-heading { position: relative; z-index: 1; display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.board-heading h2 { margin:.2rem 0 0; font:900 clamp(1.7rem,4vw,3rem)/1 ui-monospace, monospace; text-transform:uppercase; }
.quote-wall { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.evidence-note {
  position:relative; min-height:180px; padding:1.3rem 1rem 1rem;
  background:#e6d7b9; border:1px solid rgba(45,32,20,.35);
  box-shadow:0 10px 20px rgba(40,27,16,.18);
  transform:rotate(-1deg);
}
.evidence-note.note-2 { transform:rotate(1.2deg); background:#dfcfaf; }
.evidence-note.note-3 { transform:rotate(-.4deg); background:#efe0c3; }
.evidence-note.note-4 { transform:rotate(.8deg); background:#d9c4a0; }
.evidence-note blockquote { margin:.5rem 0 1rem; font:700 1rem/1.55 ui-monospace, monospace; }
.evidence-note cite { color:#6f2b25; font:700 .7rem/1.4 ui-monospace, monospace; text-transform:uppercase; }
.evidence-pin {
  position:absolute; left:50%; top:.4rem; width:10px; height:10px; border-radius:50%;
  background:#761e1d; box-shadow:0 2px 4px rgba(0,0,0,.35);
}

.confirmed-banner {
  display:grid; grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr) auto; gap:1rem; align-items:center;
  margin-bottom:.8rem; padding:1rem; border:1px solid rgba(210,58,66,.55);
  background:linear-gradient(120deg, var(--red-soft), var(--surface));
}
.confirmed-banner h2 { margin:.25rem 0 0; font-size:1.25rem; text-transform:uppercase; }
.confirmed-banner p { margin:0; color:var(--muted); line-height:1.55; }
.confirmed-banner strong { color:var(--red-bright); }

.rumor-hero {
  position:relative; overflow:hidden; min-height:310px;
  display:grid; grid-template-columns:minmax(0,1.2fr) minmax(230px,.8fr); align-items:center; gap:1rem;
  padding:clamp(1.2rem,4vw,3rem); border:1px solid rgba(210,58,66,.6);
  background:
    radial-gradient(circle at 80% 50%, rgba(164,31,38,.28), transparent 25rem),
    repeating-linear-gradient(90deg, transparent 0 45px, rgba(255,255,255,.025) 46px 47px),
    #0c0e0f;
}
.rumor-hero strong { display:block; margin:.5rem 0; font:900 clamp(3.6rem,10vw,9rem)/.85 ui-monospace, monospace; letter-spacing:-.08em; color:var(--red-bright); }
.rumor-hero p { max-width:760px; color:var(--muted); line-height:1.6; }
.rumor-seal {
  justify-self:center; width:230px; height:230px; border:4px double var(--red-bright);
  border-radius:50%; display:grid; place-items:center; align-content:center; text-align:center;
  transform:rotate(-8deg); color:var(--red-bright); box-shadow:0 0 50px rgba(210,58,66,.13);
}
.rumor-seal span,.rumor-seal small { font:800 .7rem/1.2 ui-monospace,monospace; letter-spacing:.1em; }
.rumor-seal b { font:900 5rem/1 ui-monospace,monospace; }
.rumor-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; margin:.8rem 0; }
.rumor-card { border:1px solid var(--line); background:var(--surface); padding:1rem; }
.rumor-code { color:var(--red-bright); font:700 .65rem/1 ui-monospace,monospace; }
.rumor-card h3 { margin:.7rem 0 .35rem; }
.rumor-card p { color:var(--muted); line-height:1.5; font-size:.85rem; }
.confidence-strip { height:6px; margin-top:1rem; border:1px solid var(--line); background:#08090a; }
.confidence-strip span { display:block; height:100%; background:var(--red-bright); }
.rumor-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.count-ladder { display:grid; gap:.4rem; margin-top:1rem; }
.count-ladder div { display:flex; justify-content:space-between; gap:1rem; padding:.65rem; border:1px solid var(--line); background:#0a0c0d; }
.count-ladder span { color:var(--muted); }
.rumor-quote { padding:.8rem 0; border-bottom:1px solid var(--line); line-height:1.5; }
.rumor-quote span { display:block; margin-top:.4rem; color:var(--red-bright); font:700 .65rem/1 ui-monospace,monospace; }

.terminal-shell { border:1px solid var(--line-strong); background:#050706; box-shadow:inset 0 0 80px rgba(86,146,93,.05); }
.terminal-top { display:flex; justify-content:space-between; gap:1rem; padding:.75rem 1rem; border-bottom:1px solid var(--line); color:#96b49a; font:700 .68rem/1 ui-monospace,monospace; letter-spacing:.08em; }
.terminal-output { min-height:420px; max-height:55vh; overflow:auto; padding:1rem; color:#b4d2b7; font:500 .86rem/1.75 ui-monospace,monospace; }
.terminal-command { color:#fff; }
.terminal-danger { color:var(--red-bright); }
.terminal-input-row { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:.7rem; border-top:1px solid var(--line); padding:.8rem 1rem; color:#b4d2b7; font:700 .9rem/1 ui-monospace,monospace; }
.terminal-input-row input { width:100%; border:0; outline:0; background:transparent; color:#d6ead8; font:inherit; }
.terminal-corruption { animation:screenCorrupt .16s steps(2,end) 5; }
.secret-file { margin-top:.8rem; border-color:var(--red); }

.source-action {
  display:inline-flex; margin-top:.8rem; padding:.42rem .6rem; border:1px solid var(--line-strong);
  color:var(--red-bright); font:700 .65rem/1 ui-monospace,monospace; text-decoration:none;
}
.source-action.disabled { color:var(--dim); opacity:.75; cursor:not-allowed; }
.footer-secret { border:0; background:transparent; color:var(--dim); font:700 .65rem/1 ui-monospace,monospace; cursor:pointer; }

.breach-overlay {
  position:fixed; inset:0; z-index:2000; display:grid; place-items:center; padding:1rem;
  background:rgba(3,4,4,.96); opacity:0; transition:opacity .25s ease;
}
.breach-overlay.active { opacity:1; }
.breach-inner { width:min(680px,100%); text-align:center; border:1px solid var(--red); padding:clamp(1.4rem,5vw,3rem); background:#090a0b; box-shadow:0 0 80px rgba(210,58,66,.18); }
.breach-code { color:var(--red-bright); font:800 .7rem/1 ui-monospace,monospace; letter-spacing:.1em; }
.breach-inner h2 { margin:1rem 0 .4rem; font:900 clamp(3rem,12vw,8rem)/.9 ui-monospace,monospace; color:var(--red-bright); letter-spacing:-.07em; }
.breach-inner p { color:var(--muted); }
.breach-face { margin:1.2rem 0; font-size:4rem; filter:grayscale(1); }
.subject-stamp { cursor:pointer; }
.subject-stamp.noticed { background:var(--red); color:#fff; }

@keyframes chargeTicker { to { transform:translateX(-50%); } }
@keyframes screenCorrupt {
  0% { filter:none; transform:none; }
  50% { filter:contrast(1.8) hue-rotate(18deg); transform:translateX(5px); }
  100% { filter:none; transform:translateX(-3px); }
}

@media (max-width: 1000px) {
  .quote-wall, .rumor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .confirmed-banner { grid-template-columns:1fr; }
}
@media (max-width: 760px) {
  .case-ticker { grid-template-columns:1fr; }
  .ticker-label { justify-self:stretch; }
  .quote-wall, .rumor-grid, .rumor-layout { grid-template-columns:1fr; }
  .rumor-hero { grid-template-columns:1fr; }
  .rumor-seal { width:175px; height:175px; }
  .rumor-seal b { font-size:4rem; }
}


/* =========================================================
   ORVILLE LIVING ARCHIVE 3.0
   ========================================================= */

.system-mini {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: .65rem;
  color: var(--muted);
  font: 700 .62rem/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .08em;
}
.system-mini span {
  display: inline-flex;
  gap: .3rem;
  align-items: center;
  padding: .35rem .48rem;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.02);
}
.system-mini b { color: var(--text); }
.clearance { margin-left: 0; }

.archive-vitals {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr)) minmax(180px,.75fr);
  gap: .65rem;
  margin: -.7rem 0 1.5rem;
}
.vital-block,
.rotating-warning {
  border: 1px solid var(--line);
  background: var(--surface);
  padding: .8rem;
}
.vital-block {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .55rem .8rem;
  align-items: center;
}
.vital-block span {
  color: var(--muted);
  font: 700 .62rem/1 ui-monospace, monospace;
  letter-spacing: .08em;
}
.vital-block strong {
  color: var(--text);
  font: 800 .72rem/1 ui-monospace, monospace;
}
.vital-track {
  grid-column: 1 / -1;
  height: 7px;
  border: 1px solid var(--line);
  background: #070809;
}
.vital-track i {
  display: block;
  height: 100%;
  width: 100%;
  background: var(--red-bright);
  transition: width .6s ease, background .6s ease;
}
.rotating-warning {
  display: grid;
  place-items: center;
  min-height: 64px;
  border-color: var(--red);
  color: var(--red-bright);
  background: var(--red-soft);
  text-align: center;
  font: 900 .72rem/1.35 ui-monospace, monospace;
  letter-spacing: .09em;
  transition: opacity .2s ease, transform .2s ease;
}
.rotating-warning.swap {
  opacity: .15;
  transform: translateY(2px);
}
.return-summary {
  margin: -.7rem 0 1.5rem;
  border-color: rgba(167,213,154,.35);
  background: linear-gradient(120deg, rgba(167,213,154,.08), var(--surface));
}
.return-summary strong { color: var(--green); }

.confirmed-banner small {
  display: block;
  margin-top: .4rem;
  color: var(--muted);
}
.classification-retention {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .8rem;
  align-items: center;
  margin: .8rem 0;
  padding: .85rem 1rem;
  border: 1px solid rgba(167,213,154,.45);
  background: rgba(167,213,154,.07);
}
.classification-retention strong {
  color: var(--green);
  font: 800 .68rem/1 ui-monospace, monospace;
  letter-spacing: .08em;
}
.classification-retention span { color: var(--text); }
.classification-retention small {
  color: var(--muted);
  font: 700 .64rem/1.2 ui-monospace, monospace;
}

.jurisdiction-register {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid var(--line);
  background:
    linear-gradient(120deg, rgba(164,31,38,.08), transparent 42%),
    var(--surface);
}
.jurisdiction-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .8rem;
}
.jurisdiction-head h2 { margin: .25rem 0 0; }
.jurisdiction-grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: .5rem;
}
.jurisdiction-card {
  border: 1px solid var(--line);
  background: #0a0c0d;
  padding: .75rem;
  cursor: pointer;
  text-align: left;
  transition: border-color .15s ease, transform .15s ease, background .15s ease;
}
.jurisdiction-card:hover {
  transform: translateY(-2px);
  border-color: var(--red-bright);
  background: var(--surface-2);
}
.jurisdiction-card span {
  display: block;
  color: var(--red-bright);
  font: 800 .62rem/1 ui-monospace, monospace;
}
.jurisdiction-card strong {
  display: block;
  margin-top: .35rem;
  font-size: .78rem;
  line-height: 1.3;
}
.crime-card.newly-confirmed {
  border-color: rgba(167,213,154,.55);
  background: linear-gradient(145deg, rgba(167,213,154,.07), var(--surface));
}
.crime-card.newly-confirmed::after {
  content: "NEW";
  position: absolute;
  top: .75rem;
  right: .75rem;
  color: var(--green);
  font: 900 .6rem/1 ui-monospace, monospace;
  letter-spacing: .08em;
}

.live-layout {
  display: grid;
  grid-template-columns: minmax(0,1.3fr) minmax(260px,.7fr);
  gap: .75rem;
  margin-bottom: .75rem;
}
.live-feed-panel { min-height: 500px; }
.incident-feed {
  display: grid;
  gap: .5rem;
  max-height: 570px;
  overflow: auto;
  padding-right: .25rem;
}
.incident-row {
  display: grid;
  grid-template-columns: 76px 90px minmax(0,1fr);
  gap: .65rem;
  align-items: start;
  padding: .72rem;
  border: 1px solid var(--line);
  background: #0a0c0d;
}
.incident-row time,
.incident-row .incident-code {
  color: var(--dim);
  font: 700 .62rem/1.45 ui-monospace, monospace;
}
.incident-row p {
  margin: 0;
  color: var(--text);
  font-size: .83rem;
  line-height: 1.45;
}
.incident-row small {
  display: block;
  margin-top: .32rem;
  color: var(--muted);
}
.incident-severity {
  display: inline-flex;
  width: fit-content;
  margin-top: .3rem;
  padding: .2rem .35rem;
  border: 1px solid var(--line);
  color: var(--red-bright);
  font: 800 .56rem/1 ui-monospace, monospace;
}
.operator-list { display: grid; gap: .5rem; }
.operator {
  display: grid;
  grid-template-columns: 12px minmax(0,1fr) auto;
  gap: .6rem;
  align-items: center;
  padding: .7rem;
  border: 1px solid var(--line);
  background: #0a0c0d;
}
.operator-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 10px rgba(167,213,154,.5);
}
.operator.offline .operator-dot { background: var(--dim); box-shadow: none; }
.operator.compromised .operator-dot { background: var(--red-bright); box-shadow: 0 0 10px rgba(210,58,66,.55); }
.operator strong { display: block; font-size: .8rem; }
.operator small { display: block; margin-top: .18rem; color: var(--muted); }
.operator b {
  color: var(--muted);
  font: 700 .57rem/1 ui-monospace, monospace;
}
.typing-ghost {
  margin-top: .7rem;
  color: var(--green);
  font: 700 .68rem/1 ui-monospace, monospace;
  animation: blink 1.1s steps(2,end) infinite;
}
.timeline-viewer {
  padding: clamp(1rem,3vw,2rem);
  border: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(164,31,38,.09), transparent 35%),
    var(--surface);
}
.timeline-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1rem;
}
.timeline-heading h2 { margin: .25rem 0 0; }
.timeline-viewer input[type="range"] {
  width: 100%;
  margin: 2rem 0 .35rem;
  accent-color: var(--red-bright);
}
.timeline-scale {
  display: flex;
  justify-content: space-between;
  color: var(--dim);
  font: 700 .65rem/1 ui-monospace, monospace;
}
.timeline-content {
  margin-top: 1rem;
  padding: 1rem;
  border-left: 3px solid var(--red-bright);
  background: #0a0c0d;
}
.timeline-content h3 { margin: 0 0 .4rem; }
.timeline-content p { margin: 0; color: var(--muted); line-height: 1.6; }

.chat-layout {
  display: grid;
  grid-template-columns: 260px minmax(0,1fr);
  gap: .75rem;
}
.staff-roster { padding: .8rem; }
.staff-entry {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: .65rem;
  align-items: center;
  padding: .6rem;
  border-bottom: 1px solid var(--line);
}
.staff-avatar {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  color: var(--text);
  background: #0a0c0d;
  font: 800 .7rem/1 ui-monospace, monospace;
}
.staff-entry strong { display: block; font-size: .78rem; }
.staff-entry small { display: block; margin-top: .15rem; color: var(--muted); font-size: .65rem; }
.staff-entry .staff-status { color: var(--green); }
.staff-entry.compromised .staff-status { color: var(--red-bright); }
.chat-window {
  min-height: 620px;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line-strong);
  background: #090b0c;
}
.chat-top {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .85rem 1rem;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}
.chat-top strong { display: block; }
.chat-top span { display: block; margin-top: .2rem; color: var(--muted); font-size: .68rem; }
.chat-log {
  flex: 1;
  min-height: 430px;
  max-height: 60vh;
  overflow-y: auto;
  padding: 1rem;
}
.chat-message {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  gap: .7rem;
  margin-bottom: .9rem;
}
.chat-message .staff-avatar { width: 42px; height: 42px; }
.chat-message .message-head {
  display: flex;
  gap: .5rem;
  align-items: baseline;
}
.chat-message .message-head strong { font-size: .78rem; }
.chat-message time { color: var(--dim); font-size: .61rem; }
.chat-message p {
  margin: .28rem 0 0;
  color: var(--text);
  line-height: 1.55;
  white-space: pre-wrap;
}
.chat-message.system {
  display: block;
  padding: .6rem .75rem;
  border: 1px dashed var(--line);
  color: var(--muted);
  font: 700 .67rem/1.45 ui-monospace, monospace;
}
.chat-message.orville p { color: var(--green); }
.chat-message.observer .staff-avatar { border-color: var(--red); color: var(--red-bright); }
.chat-typing {
  padding: .4rem 1rem;
  color: var(--muted);
  font-size: .72rem;
  animation: blink 1s steps(2,end) infinite;
}
.chat-input-row {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: .65rem;
  align-items: center;
  padding: .8rem;
  border-top: 1px solid var(--line);
}
.chat-input-row > span {
  color: var(--red-bright);
  font: 800 .62rem/1 ui-monospace, monospace;
}
.chat-input-row input {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line-strong);
  background: #050607;
  color: var(--text);
  padding: .72rem;
  outline: none;
}
.chat-input-row input:focus { border-color: var(--red-bright); }
.chat-warning { margin-top: .75rem; }
.chat-warning strong { color: var(--red-bright); }

.evidence-gallery {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: .75rem;
}
.evidence-card {
  position: relative;
  min-height: 330px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--surface);
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease;
}
.evidence-card:hover { transform: translateY(-3px); border-color: var(--line-strong); }
.evidence-card img {
  display: block;
  width: 100%;
  height: 250px;
  object-fit: cover;
  filter: saturate(.72) contrast(1.08);
  transition: filter .2s ease, transform .3s ease;
}
.evidence-card:hover img { filter: saturate(.9) contrast(1.12); transform: scale(1.02); }
.evidence-card .evidence-copy { padding: .8rem; }
.evidence-card .evidence-code {
  color: var(--red-bright);
  font: 800 .62rem/1 ui-monospace, monospace;
}
.evidence-card h3 { margin: .5rem 0 .28rem; font-size: .94rem; }
.evidence-card p { margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.45; }
.evidence-hotspot {
  position: absolute;
  right: .4rem;
  top: .4rem;
  width: 18px;
  height: 18px;
  border: 0;
  background: transparent;
  color: transparent;
  cursor: pointer;
}
.evidence-hotspot::after {
  content: "🙂";
  position: absolute;
  inset: 0;
  opacity: .08;
  color: white;
  font-size: .72rem;
}
.compare-warning { margin-top: .75rem; }
.evidence-dialog { width: min(960px, calc(100% - 1rem)); }
.evidence-dialog figure { margin: 0; }
.evidence-dialog img { display: block; width: 100%; max-height: 70vh; object-fit: contain; background: #050607; }
.evidence-dialog figcaption { padding: 1rem 0 0; }
.evidence-dialog h2 { margin: .4rem 0; }
.evidence-dialog p { color: var(--muted); line-height: 1.55; }

.observer-nav { border-color: rgba(167,213,154,.25); }
.observer-nav.active { background: rgba(167,213,154,.1); border-color: rgba(167,213,154,.45); }
.observer-hero {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: clamp(1.2rem,4vw,2.4rem);
  border: 1px solid rgba(167,213,154,.38);
  background:
    radial-gradient(circle at 85% 50%, rgba(167,213,154,.12), transparent 20rem),
    var(--surface);
}
.observer-hero strong {
  display: block;
  margin: .6rem 0;
  font: 900 clamp(2.2rem,6vw,5rem)/1 ui-monospace, monospace;
  color: var(--green);
}
.observer-hero p { max-width: 780px; color: var(--muted); line-height: 1.6; }
.observer-seal {
  width: 150px;
  height: 150px;
  display: grid;
  place-items: center;
  border: 4px double var(--green);
  border-radius: 50%;
  color: var(--green);
  transform: rotate(-7deg);
  font: 900 .75rem/1.3 ui-monospace, monospace;
  text-align: center;
}
.observer-layout {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: .75rem;
}
.observer-actions { display: grid; gap: .45rem; }
.observer-action {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .65rem;
  border: 1px solid var(--line);
  background: #0a0c0d;
}
.observer-action span { color: var(--muted); }
.observer-action strong { color: var(--text); }
#observerAssessment p { color: var(--muted); line-height: 1.6; }
#observerAssessment blockquote {
  margin: 1rem 0;
  padding: .8rem;
  border-left: 3px solid var(--green);
  background: rgba(167,213,154,.06);
  color: var(--green);
}
.danger-reset { margin-left: .4rem; color: var(--red-bright); }

.orville-message {
  position: fixed;
  z-index: 2600;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%) scale(.94);
  width: min(520px, calc(100% - 2rem));
  padding: 1.2rem;
  border: 1px solid rgba(167,213,154,.45);
  background: rgba(5,7,6,.96);
  color: var(--green);
  text-align: center;
  box-shadow: 0 0 100px rgba(167,213,154,.16);
  font: 900 clamp(1.6rem,5vw,3rem)/1.2 ui-monospace, monospace;
  opacity: 0;
  transition: opacity .25s ease, transform .25s ease;
  pointer-events: none;
}
.orville-message.active {
  opacity: 1;
  transform: translate(-50%,-50%) scale(1);
}
.toast-stack {
  position: fixed;
  z-index: 2500;
  right: 1rem;
  bottom: 1rem;
  width: min(390px, calc(100% - 2rem));
  display: grid;
  gap: .55rem;
  pointer-events: none;
}
.archive-toast {
  padding: .85rem 1rem;
  border: 1px solid var(--line-strong);
  background: rgba(10,12,13,.97);
  box-shadow: var(--shadow);
  animation: toastIn .3s ease both;
}
.archive-toast strong {
  display: block;
  color: var(--red-bright);
  font: 800 .66rem/1 ui-monospace, monospace;
  letter-spacing: .08em;
}
.archive-toast p { margin: .4rem 0 0; color: var(--text); line-height: 1.45; }
.archive-toast.orville strong,
.archive-toast.orville p { color: var(--green); }
.archive-toast.removing { animation: toastOut .3s ease both; }

body.orville-owned {
  --red: #66865d;
  --red-bright: #a7d59a;
  --red-soft: rgba(167,213,154,.12);
}
body.orville-owned .brand strong::after {
  content: " // ORVILLE'S ARCHIVE";
  color: var(--green);
}
body.orville-owned .subject-stamp { border-color: var(--green); color: var(--green); }
body.counterfeit .subject-stamp { background: rgba(167,213,154,.12); }
body.counterfeit #overview-title span::after { content: " // COME CLOSER"; }

.secret-file.correcting {
  animation: screenCorrupt .17s steps(2,end) 4;
}
.secret-file #secretCorrection {
  color: var(--muted);
}
.secret-file #secretCompare {
  font-size: 1.1rem;
}

@keyframes toastIn {
  from { opacity: 0; transform: translateX(12px); }
  to { opacity: 1; transform: none; }
}
@keyframes toastOut {
  to { opacity: 0; transform: translateX(12px); }
}

@media (max-width: 1180px) {
  .jurisdiction-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .evidence-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .archive-vitals { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .system-mini { display: none; }
  .live-layout,
  .chat-layout,
  .observer-layout { grid-template-columns: 1fr; }
  .staff-roster { order: 2; }
  .chat-window { min-height: 560px; }
}
@media (max-width: 700px) {
  .jurisdiction-grid,
  .evidence-gallery,
  .archive-vitals { grid-template-columns: 1fr; }
  .classification-retention { grid-template-columns: 1fr; }
  .incident-row { grid-template-columns: 70px minmax(0,1fr); }
  .incident-row p { grid-column: 1 / -1; }
  .observer-hero { grid-template-columns: 1fr; }
  .observer-seal { width: 120px; height: 120px; }
  .chat-input-row { grid-template-columns: 1fr; }
  .chat-input-row > span { display: none; }
  .danger-reset { margin: .5rem 0 0; display: block; }
}

.load-more {
  display: block;
  width: min(340px,100%);
  margin: 1rem auto 0;
}


/* ================================================================
   ARCHIVE 4.0: observer identity, audio archive, newest-first index
   ================================================================ */
[hidden]{display:none!important}
.top-actions{display:flex;gap:.4rem;margin-left:auto}
.icon-action{position:relative;width:38px;height:38px;border:1px solid var(--line);border-radius:.35rem;background:var(--surface);color:var(--muted);cursor:pointer;font-weight:800}
.icon-action.active{color:var(--green);border-color:var(--green);box-shadow:0 0 18px rgba(167,213,154,.14)}
.notification-button span{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border-radius:50%;background:var(--red-bright);color:white;font-size:.6rem}
.notification-panel{position:fixed;right:1rem;top:78px;z-index:90;width:min(380px,calc(100% - 2rem));max-height:70vh;overflow:auto;border:1px solid var(--line-strong);background:rgba(12,14,15,.98);box-shadow:var(--shadow)}
.notification-head{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:.9rem;border-bottom:1px solid var(--line);background:var(--surface)}
.notification-head strong{font:800 .7rem/1 ui-monospace,monospace;letter-spacing:.1em}
.notification-head button{border:0;background:transparent;color:var(--text);font-size:1.2rem;cursor:pointer}
.notification-entry{padding:.8rem .9rem;border-bottom:1px solid var(--line)}
.notification-entry strong{display:block;font-size:.8rem}.notification-entry p{margin:.35rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}.notification-entry time{display:block;margin-top:.35rem;color:var(--dim);font:600 .62rem/1 ui-monospace,monospace}
.name-gate{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:1rem;background:rgba(0,0,0,.82);backdrop-filter:blur(10px)}
.name-gate-card{width:min(560px,100%);border:1px solid var(--line-strong);background:linear-gradient(145deg,var(--surface-2),#090a0b);padding:clamp(1.2rem,4vw,2.2rem);box-shadow:var(--shadow)}
.name-gate-card h2{font-size:clamp(1.8rem,5vw,3.3rem);line-height:1;margin:.7rem 0}.name-gate-card p{color:var(--muted);line-height:1.6}.name-gate-card label{display:grid;gap:.45rem;margin:1.2rem 0;color:var(--muted);font-size:.78rem}.name-gate-card input{width:100%;min-height:50px;border:1px solid var(--line-strong);background:#070809;color:var(--text);padding:0 .85rem;font-size:1.05rem}.name-gate-card small{display:block;margin-top:.8rem;color:var(--dim)}
.mirror-overlay{position:fixed;inset:0;z-index:180;display:grid;place-items:center;padding:1rem;background:#e7e3d7;color:#16181a}.mirror-shell{width:min(720px,100%);border:3px double #17191b;padding:clamp(1rem,4vw,2.2rem);background:repeating-linear-gradient(0deg,rgba(0,0,0,.03) 0 1px,transparent 1px 4px),#ded9cb;box-shadow:0 25px 90px rgba(0,0,0,.65)}.mirror-shell .eyebrow{color:#374a34}.mirror-shell h2{font:900 clamp(2.3rem,8vw,5rem)/.9 ui-monospace,monospace;margin:.8rem 0}.mirror-shell dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.mirror-shell dl div{border:1px solid #333;padding:.7rem}.mirror-shell dt{font:700 .65rem/1 ui-monospace,monospace}.mirror-shell dd{margin:.3rem 0 0;font-weight:800}.mirror-shell p{line-height:1.6}.mirror-shell .secondary{color:#111;border-color:#333}
.archive-controls{grid-template-columns:minmax(210px,1.35fr) repeat(3,minmax(145px,.65fr)) auto}
.recent-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-bottom:.8rem}.recent-summary-card{border:1px solid var(--line);background:var(--surface);padding:1rem}.recent-summary-card span{display:block;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.recent-summary-card strong{display:block;margin-top:.35rem;font-size:1.6rem}.recent-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:.8rem}.processing-queue,.recent-crime-list,.crime-changelog{display:grid;gap:.5rem}.queue-item,.recent-item,.changelog-item{border:1px solid var(--line);background:#0c0e0f;padding:.75rem}.queue-item-head,.recent-item-head{display:flex;justify-content:space-between;gap:.6rem}.queue-item strong,.recent-item strong{font-size:.84rem}.queue-item small,.recent-item small{color:var(--dim)}.queue-progress{height:7px;margin-top:.55rem;border:1px solid var(--line);background:#060708}.queue-progress span{display:block;height:100%;background:var(--red-bright)}.queue-status{margin-top:.4rem;color:var(--muted);font-size:.7rem}.recent-item{cursor:pointer}.recent-item:hover{border-color:var(--line-strong)}.recent-item .new-tag{color:var(--green);font:800 .62rem/1 ui-monospace,monospace}.changelog-panel{margin-top:.8rem}.changelog-item{display:grid;grid-template-columns:90px 1fr;gap:.7rem}.changelog-item time{color:var(--red-bright);font:700 .65rem/1.4 ui-monospace,monospace}.changelog-item p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.45}
.audio-notice{margin-bottom:.8rem;border-color:rgba(167,213,154,.35)}.audio-notice strong{color:var(--green)}.audio-controls{grid-template-columns:minmax(220px,1.2fr) minmax(160px,.6fr) minmax(160px,.6fr)}.audio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.audio-card{position:relative;min-height:225px;display:flex;flex-direction:column;border:1px solid var(--line);background:var(--surface);padding:1rem;cursor:pointer}.audio-card:hover{border-color:var(--line-strong);transform:translateY(-1px)}.audio-card .audio-code{color:var(--green);font:800 .65rem/1 ui-monospace,monospace}.audio-card h3{margin:.65rem 0 .35rem}.audio-card p{color:var(--muted);font-size:.78rem;line-height:1.5}.audio-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-top:auto}.audio-card-meta div{border:1px solid var(--line);padding:.45rem}.audio-card-meta span{display:block;color:var(--dim);font-size:.58rem;text-transform:uppercase}.audio-card-meta strong{display:block;margin-top:.2rem;font-size:.7rem}.audio-play{position:absolute;right:.8rem;top:.8rem;width:34px;height:34px;border:1px solid var(--line-strong);border-radius:50%;background:#090a0b;color:var(--text)}.audio-dialog{width:min(850px,calc(100% - 1rem));max-height:88vh}.audio-log-head{padding-right:3rem}.audio-log-head h2{font-size:clamp(1.6rem,4vw,2.8rem);margin:.6rem 0}.audio-file-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:1rem 0}.audio-file-meta div{border:1px solid var(--line);padding:.6rem}.audio-file-meta span{display:block;color:var(--dim);font-size:.58rem;text-transform:uppercase}.audio-file-meta strong{display:block;margin-top:.22rem;font-size:.75rem}.transcript{border:1px solid var(--line);background:#070809;padding:.8rem}.transcript-line{display:grid;grid-template-columns:78px 1fr;gap:.65rem;padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.05);opacity:0;transform:translateY(3px);transition:.3s}.transcript-line.visible{opacity:1;transform:none}.transcript-time{color:var(--green);font:700 .68rem/1.5 ui-monospace,monospace}.transcript-text{line-height:1.55}.audio-analyst-note{margin-top:.8rem;padding:.8rem;border-left:3px solid var(--red-bright);background:var(--red-soft);color:var(--muted)}.audio-viewers{margin-top:.7rem;color:var(--muted);font:700 .65rem/1 ui-monospace,monospace}.audio-viewers.changed{color:var(--red-bright)}
.observer-lower{margin-top:.8rem}.access-audit{display:grid;gap:.4rem;max-height:340px;overflow:auto}.audit-entry{display:grid;grid-template-columns:88px 1fr;gap:.6rem;border-bottom:1px solid var(--line);padding:.55rem 0}.audit-entry time{color:var(--green);font:700 .63rem/1.4 ui-monospace,monospace}.audit-entry span{color:var(--muted);font-size:.78rem;line-height:1.4}.audit-entry.future span{color:var(--red-bright)}.prediction-panel{display:grid;gap:.7rem}.prediction-card{border:1px solid var(--line);padding:.8rem;background:#0b0d0e}.prediction-card strong{display:block}.prediction-card p{color:var(--muted);margin:.4rem 0 0;line-height:1.5}.prediction-card small{display:block;margin-top:.5rem;color:var(--red-bright)}
.crime-card .new-crime-badge{position:absolute;right:.8rem;top:.8rem;color:var(--green);border:1px solid rgba(167,213,154,.45);padding:.25rem .4rem;font:800 .58rem/1 ui-monospace,monospace}.crime-card .confirmed-time{display:block;margin-top:.45rem;color:var(--dim);font-size:.66rem}.revision-list{display:grid;gap:.4rem;margin-top:1rem}.revision-list div{border-left:2px solid var(--line-strong);padding-left:.65rem;color:var(--muted);font-size:.76rem}
body.safe-simulation .noise,body.safe-simulation .scanlines,body.safe-simulation .orbit,body.safe-simulation .blink{display:none!important}body.safe-simulation{--red:#596168;--red-bright:#7b858d;--red-soft:rgba(89,97,104,.12);--green:#a7adb1}body.safe-simulation .orville-message,body.safe-simulation .archive-toast{display:none!important}body.safe-simulation::after{content:'SIMULATION ACCEPTED. OBSERVER APPEARS CALMER.';position:fixed;left:.6rem;bottom:.4rem;z-index:5;color:#5e666b;font:600 .5rem/1 ui-monospace,monospace;letter-spacing:.06em}
body.focus-altered .subject-mini span::after{content:' / VIEWING';color:var(--green)}
@media(max-width:1100px){.recent-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recent-layout{grid-template-columns:1fr}.audio-grid{grid-template-columns:1fr}.archive-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.top-actions{margin-left:auto}.system-mini{display:none}.recent-summary-grid,.archive-controls,.audio-controls{grid-template-columns:1fr}.audio-file-meta{grid-template-columns:1fr}.transcript-line{grid-template-columns:62px 1fr}.mirror-shell dl{grid-template-columns:1fr}.notification-panel{right:.5rem;top:72px;width:calc(100% - 1rem)}}

.observer-strip{display:flex;justify-content:space-between;gap:.7rem;padding:.55rem .7rem;margin:-.35rem 0 .8rem;border:1px solid var(--line);background:#0b0d0e;font:700 .62rem/1.3 ui-monospace,monospace;letter-spacing:.08em}.observer-strip span{color:var(--dim)}.observer-strip strong{color:var(--green);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-shift-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin-bottom:.8rem}.shift-card{border:1px solid var(--line);background:var(--surface);padding:.75rem}.shift-card span{display:block;color:var(--dim);font:700 .58rem/1 ui-monospace,monospace;text-transform:uppercase}.shift-card strong{display:block;margin-top:.32rem;font-size:.78rem}.shift-card small{display:block;margin-top:.25rem;color:var(--muted);font-size:.66rem}.shift-card.compromised{border-color:rgba(210,58,66,.45)}.evidence-integrity{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin-top:.8rem}.evidence-integrity div{border:1px solid var(--line);padding:.55rem}.evidence-integrity span{display:block;color:var(--dim);font-size:.58rem;text-transform:uppercase}.evidence-integrity strong{display:block;margin-top:.2rem;font-size:.72rem}.evidence-viewers{margin-top:.65rem;color:var(--muted);font:700 .65rem/1.4 ui-monospace,monospace}.evidence-viewers.changed{color:var(--red-bright)}
@media(max-width:860px){.staff-shift-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.staff-shift-board{grid-template-columns:1fr}}

/* BUILD 5.0: restrained visual refinement */
:root{--paper:#d8d3c5;--ink:#171817;--glass:rgba(20,25,23,.76)}
.topbar{backdrop-filter:blur(14px);background:rgba(6,8,8,.9);border-bottom-color:rgba(141,204,133,.25)}
.panel,.crime-card,.intervention-card,.trophy-card{box-shadow:0 18px 50px rgba(0,0,0,.18)}
.crime-card-v5{display:flex;flex-direction:column;gap:.55rem;min-height:285px;background:linear-gradient(145deg,rgba(20,25,23,.94),rgba(8,10,10,.98));border-top:2px solid rgba(145,204,133,.28)}
.crime-card-v5 .crime-card-top{display:flex;justify-content:space-between;gap:1rem}.crime-card-v5 h3{font-size:1.05rem}.crime-card-v5 .crime-meaning{color:#d7d9d3;font-size:.84rem;line-height:1.5}.crime-card-v5 .crime-act{color:#959c96;font-size:.78rem;line-height:1.45;border-top:1px solid rgba(255,255,255,.07);padding-top:.55rem}.reviewed-badge{font-size:.62rem;color:#8fca88}.crime-card-v5.reviewed{opacity:.86}
.v5-record section{padding:1rem 0;border-top:1px solid rgba(255,255,255,.08)}.v5-record section h3{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#97c894}.v5-record .confirmed-act{background:rgba(128,20,25,.12);padding:1rem;border-left:3px solid #772d32}.record-badges{display:flex;gap:.5rem;margin:.6rem 0 1rem}
.history-view{background:radial-gradient(circle at 50% 0,rgba(134,157,116,.08),transparent 35%)}.history-paper{max-width:980px;margin:0 auto;background:linear-gradient(90deg,rgba(216,211,197,.98),rgba(236,232,219,.98));color:var(--ink);padding:clamp(1.5rem,5vw,5rem);box-shadow:0 25px 80px rgba(0,0,0,.45);position:relative}.history-paper:before{content:'LEVEL 5 / ORVILLE';position:absolute;right:2rem;top:1.2rem;border:2px solid rgba(118,26,31,.55);color:rgba(118,26,31,.65);padding:.35rem .55rem;transform:rotate(2deg);font-weight:800;letter-spacing:.12em}.history-deck{font-family:Georgia,serif;font-size:1.25rem;line-height:1.6;border-bottom:1px solid rgba(0,0,0,.25);padding-bottom:2rem}.history-section{display:grid;grid-template-columns:45px 1fr;column-gap:1.2rem;margin:2.5rem 0}.history-section h2{font-family:Georgia,serif;margin:0 0 .7rem;font-size:1.55rem}.history-section p{grid-column:2;font-family:Georgia,serif;line-height:1.8;font-size:1.02rem}.history-section-no{font-family:monospace;color:#6e272b}.history-note{grid-column:2;border-left:3px solid #73262b;padding:.8rem 1rem;background:rgba(115,38,43,.08);font-style:italic}.history-footnote{border-top:1px solid rgba(0,0,0,.25);padding-top:1rem;font:700 .7rem monospace;letter-spacing:.1em}
.orville-transmission{width:min(390px,calc(100vw - 24px));padding:0!important;background:rgba(8,10,9,.97)!important;border:1px solid #638f61!important;border-left:4px solid #8bc486!important;box-shadow:0 22px 80px rgba(0,0,0,.72),0 0 35px rgba(91,151,87,.13)!important;overflow:hidden}.transmission-top{display:flex;align-items:center;gap:.7rem;padding:.75rem .9rem;background:rgba(116,160,107,.1);border-bottom:1px solid rgba(142,190,134,.16)}.transmission-avatar{display:grid;place-items:center;width:34px;height:34px;border:1px solid #668b62;background:#121713}.transmission-top div{display:flex;flex-direction:column;flex:1}.transmission-top strong{font-size:.72rem;letter-spacing:.16em}.transmission-top small{font-size:.58rem;color:#93a193;letter-spacing:.08em}.transmission-top time{font:600 .62rem monospace;color:#819081}.transmission-body{padding:1rem .95rem;min-height:62px;font-size:1rem;line-height:1.5}.transmission-actions{display:flex;justify-content:space-between;align-items:center;padding:.55rem .9rem;border-top:1px solid rgba(255,255,255,.07)}.transmission-actions button{background:none;border:0;color:#9ac495;font:700 .62rem monospace;letter-spacing:.1em}.transmission-actions span{font:.58rem monospace;color:#687068}.holding-trigger{cursor:pointer;width:100%;border:1px solid rgba(165,49,54,.7);background:rgba(82,12,17,.85);color:#fff}.holding-trigger:hover{box-shadow:0 0 28px rgba(168,45,52,.22)}
.communications-list{display:grid;gap:.7rem}.communication-entry{display:grid;grid-template-columns:minmax(140px,.3fr) 1fr auto;gap:1rem;align-items:center;padding:1rem;border:1px solid rgba(255,255,255,.08);background:var(--glass)}.communication-entry div{display:flex;flex-direction:column}.communication-entry strong{letter-spacing:.12em;font-size:.72rem}.communication-entry span,.communication-entry time{font:600 .62rem monospace;color:#768077}.communication-entry p{margin:0}.communication-summary{margin-bottom:1rem}
@media(max-width:700px){.crime-card-v5{min-height:0}.history-paper{padding:1.25rem}.history-paper:before{position:static;display:inline-block;margin-bottom:1rem}.history-section{grid-template-columns:28px 1fr}.history-section p{font-size:.95rem}.communication-entry{grid-template-columns:1fr}.communication-entry time{justify-self:start}.orville-transmission{bottom:12px!important;right:12px!important}}
