:root {
  --graphite: #101820;
  --graphite-deep: #0b1116;
  --graphite-2: #17212a;
  --graphite-3: #22303a;
  --graphite-4: #2e3c46;
  --amber: #d79b36;
  --amber-bright: #e8b45b;
  --amber-dark: #8f5d11;
  --off-white: #f5f2ea;
  --paper: #fbfaf6;
  --muted-light: #aeb6bc;
  --muted-dark: #657079;
  --line-dark: #35434d;
  --line-light: #d8d5cc;
  --success: #8bc7ab;
  --danger: #d88972;
  --font-sans: "Aptos", "Segoe UI", Arial, sans-serif;
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --shell: min(1460px, calc(100% - 64px));
  color-scheme: dark;
}

* {
  box-sizing: border-box;
}

html {
  min-width: 320px;
  background: var(--graphite-deep);
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0;
  background: var(--graphite);
  color: var(--off-white);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
}

body.dialog-open {
  overflow: hidden;
}

[hidden] {
  display: none !important;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  color: inherit;
  font: inherit;
}

button,
select {
  cursor: pointer;
}

button:disabled {
  cursor: not-allowed;
}

img,
svg {
  display: block;
  max-width: 100%;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1,
h2,
h3 {
  line-height: 1;
  letter-spacing: -0.045em;
}

code,
pre {
  font-family: var(--font-mono);
}

::selection {
  background: var(--amber);
  color: var(--graphite-deep);
}

:focus-visible {
  outline: 3px solid var(--amber-bright);
  outline-offset: 3px;
}

.ambient-grid {
  position: fixed;
  z-index: -1;
  inset: 0;
  background-image:
    linear-gradient(var(--graphite-3) 1px, transparent 1px),
    linear-gradient(90deg, var(--graphite-3) 1px, transparent 1px);
  background-size: 76px 76px;
  opacity: 0.25;
  pointer-events: none;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 12px;
  left: 12px;
  padding: 11px 16px;
  background: var(--amber);
  color: var(--graphite-deep);
  font-weight: 750;
  transform: translateY(-160%);
}

.skip-link:focus {
  transform: translateY(0);
}

.eyebrow,
.card-label,
.dialog-coordinate,
.section-index,
.plot-coordinate {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-transform: uppercase;
}

.amber {
  color: var(--amber-bright);
}

.range-header {
  position: sticky;
  z-index: 100;
  top: 0;
  display: grid;
  grid-template-columns: minmax(270px, 1fr) auto minmax(270px, 1fr);
  min-height: 88px;
  align-items: stretch;
  border-bottom: 1px solid var(--line-dark);
  background: rgba(16, 24, 32, 0.96);
  backdrop-filter: blur(14px);
}

.range-brand {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 14px;
  padding: 0 32px;
  border-right: 1px solid var(--line-dark);
}

.range-brand-mark {
  display: flex;
  width: 34px;
  height: 34px;
  align-items: flex-end;
  justify-content: space-between;
  flex: 0 0 auto;
  padding: 4px 5px 5px;
  border: 1px solid var(--amber);
}

.range-brand-mark i {
  display: block;
  width: 5px;
  background: var(--amber);
}

.range-brand-mark i:nth-child(1) { height: 10px; }
.range-brand-mark i:nth-child(2) { height: 22px; }
.range-brand-mark i:nth-child(3) { height: 15px; }

.range-brand-copy {
  display: grid;
  gap: 2px;
  line-height: 1.2;
}

.range-brand-copy strong {
  font-size: 0.78rem;
  letter-spacing: 0.1em;
}

.range-brand-copy small {
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.65rem;
  letter-spacing: 0.12em;
}

.primary-nav {
  display: flex;
  align-items: stretch;
}

.primary-nav a {
  position: relative;
  display: grid;
  min-width: 112px;
  place-items: center;
  padding: 0 17px;
  color: var(--muted-light);
  font-size: 0.76rem;
  font-weight: 720;
  letter-spacing: 0.04em;
}

.primary-nav a::after {
  position: absolute;
  right: 50%;
  bottom: -1px;
  left: 50%;
  height: 3px;
  background: var(--amber);
  content: "";
  transition: left 160ms ease, right 160ms ease;
}

.primary-nav a:hover,
.primary-nav a[aria-current="page"] {
  color: var(--off-white);
}

.primary-nav a:hover::after,
.primary-nav a[aria-current="page"]::after {
  right: 18px;
  left: 18px;
}

.header-status {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 0 32px;
  border-left: 1px solid var(--line-dark);
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.header-status time {
  min-width: 74px;
  color: var(--off-white);
}

.status-pulse,
.rail-live i {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--success);
}

.menu-button,
.mobile-nav {
  display: none;
}

.loading-state {
  display: grid;
  min-height: calc(100vh - 88px);
  place-items: center;
  align-content: center;
  padding: 60px 24px;
  text-align: center;
}

.loading-state h1 {
  margin-bottom: 14px;
  font-size: clamp(3rem, 8vw, 7rem);
}

.loading-state p:last-child {
  color: var(--muted-light);
}

.loading-signal {
  display: flex;
  height: 56px;
  align-items: flex-end;
  gap: 8px;
  margin-bottom: 28px;
}

.loading-signal span {
  width: 8px;
  background: var(--amber);
  animation: acquire 900ms ease-in-out infinite alternate;
}

.loading-signal span:nth-child(1) { height: 20px; }
.loading-signal span:nth-child(2) { height: 52px; animation-delay: 140ms; }
.loading-signal span:nth-child(3) { height: 34px; animation-delay: 280ms; }

@keyframes acquire {
  from { opacity: 0.35; transform: scaleY(0.6); transform-origin: bottom; }
  to { opacity: 1; transform: scaleY(1); transform-origin: bottom; }
}

.hero-frame {
  display: grid;
  width: var(--shell);
  min-height: min(740px, calc(100vh - 88px));
  grid-template-columns: minmax(0, 1.05fr) minmax(430px, 0.95fr);
  align-items: center;
  gap: clamp(48px, 7vw, 110px);
  margin: 0 auto;
  padding: 82px 0 72px;
}

.hero-copy h1 {
  margin: 0 0 32px;
  font-size: clamp(4.3rem, 9vw, 9.7rem);
  font-weight: 760;
  letter-spacing: -0.075em;
  line-height: 0.78;
}

.hero-copy h1 span,
.hero-copy h1 em {
  display: block;
}

.hero-copy h1 em {
  color: var(--amber);
  font-style: normal;
}

.hero-lede {
  max-width: 750px;
  margin-bottom: 18px;
  font-size: clamp(1.25rem, 2vw, 1.72rem);
  font-weight: 540;
  line-height: 1.32;
  letter-spacing: -0.025em;
}

.hero-detail {
  max-width: 660px;
  color: var(--muted-light);
  font-size: 0.98rem;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 36px 0 24px;
}

.button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 22px;
  padding: 12px 18px;
  border: 1px solid var(--line-dark);
  border-radius: 0;
  background: transparent;
  font-size: 0.78rem;
  font-weight: 760;
  letter-spacing: 0.035em;
  line-height: 1.2;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}

.button.primary {
  border-color: var(--amber);
  background: var(--amber);
  color: var(--graphite-deep);
}

.button.primary:hover {
  border-color: var(--amber-bright);
  background: var(--amber-bright);
}

.button.secondary {
  border-color: var(--line-dark);
  color: var(--off-white);
}

.button.secondary:hover,
.button:not(.primary):hover {
  border-color: var(--amber);
  color: var(--amber-bright);
}

.button:disabled {
  border-color: var(--line-dark);
  background: var(--graphite-3);
  color: var(--muted-light);
  opacity: 0.58;
}

.scope-line {
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.69rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.scope-line span {
  margin-right: 8px;
  color: var(--amber);
}

.signal-plot {
  position: relative;
  aspect-ratio: 1;
  max-width: 610px;
  border: 1px solid var(--line-dark);
  background-image:
    linear-gradient(var(--graphite-3) 1px, transparent 1px),
    linear-gradient(90deg, var(--graphite-3) 1px, transparent 1px);
  background-size: 44px 44px;
  overflow: hidden;
}

.signal-plot::before,
.signal-plot::after {
  position: absolute;
  background: var(--line-dark);
  content: "";
}

.signal-plot::before { top: 50%; right: 0; left: 0; height: 1px; }
.signal-plot::after { top: 0; bottom: 0; left: 50%; width: 1px; }

.plot-coordinate {
  position: absolute;
  z-index: 4;
  color: var(--muted-light);
  font-size: 0.56rem;
}

.plot-coordinate.top { top: 16px; left: 18px; }
.plot-coordinate.bottom { right: 18px; bottom: 14px; }

.orbit {
  position: absolute;
  z-index: 1;
  border: 1px solid var(--line-dark);
  border-radius: 50%;
}

.orbit-one { inset: 18%; }
.orbit-two { inset: 31%; border-color: rgba(215, 155, 54, 0.45); }

.plot-origin,
.plot-outpost {
  position: absolute;
  z-index: 5;
}

.plot-origin {
  top: 28%;
  left: 21%;
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid var(--off-white);
  transform: rotate(45deg);
}

.plot-origin span {
  width: 8px;
  height: 8px;
  background: var(--off-white);
}

.plot-outpost {
  right: 18%;
  bottom: 24%;
  width: 58px;
  height: 72px;
  border: 2px solid var(--amber);
  background: var(--graphite);
}

.plot-outpost::before {
  position: absolute;
  top: -20px;
  left: 25px;
  width: 2px;
  height: 19px;
  background: var(--amber);
  content: "";
}

.plot-outpost i:nth-child(1) {
  position: absolute;
  top: 14px;
  right: 9px;
  left: 9px;
  height: 8px;
  border: 1px solid var(--amber);
}

.plot-outpost i:nth-child(2) {
  position: absolute;
  right: 18px;
  bottom: 0;
  width: 19px;
  height: 25px;
  border: 1px solid var(--amber);
  border-bottom: 0;
}

.signal-path {
  position: absolute;
  z-index: 3;
  height: 2px;
  background: var(--amber);
  transform-origin: left center;
}

.path-one {
  top: 33%;
  left: 27%;
  width: 39%;
  transform: rotate(31deg);
}

.path-two {
  top: 55%;
  left: 52%;
  width: 23%;
  opacity: 0.35;
  transform: rotate(-43deg);
}

.plot-label {
  position: absolute;
  z-index: 6;
  display: grid;
  grid-template-columns: 27px 1fr;
  gap: 0 8px;
  color: var(--off-white);
  font-family: var(--font-mono);
  font-size: 0.62rem;
  letter-spacing: 0.07em;
}

.plot-label > span {
  grid-row: 1 / span 2;
  color: var(--amber);
}

.plot-label small {
  color: var(--muted-light);
  font-size: 0.52rem;
}

.origin-label { top: 17%; left: 12%; }
.outpost-label { right: 9%; bottom: 12%; }

.plot-anomaly {
  position: absolute;
  z-index: 6;
  top: 13%;
  right: 7%;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 7px 9px;
  border: 1px solid var(--amber);
  color: var(--amber-bright);
  font-family: var(--font-mono);
  font-size: 0.54rem;
  letter-spacing: 0.08em;
}

.plot-anomaly span {
  width: 6px;
  height: 6px;
  background: var(--amber);
}

.status-rail {
  display: grid;
  width: var(--shell);
  grid-template-columns: repeat(5, 1fr);
  margin: 0 auto;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.status-rail > div {
  display: grid;
  gap: 3px;
  min-height: 84px;
  align-content: center;
  padding: 15px 20px;
  border-right: 1px solid var(--line-dark);
}

.status-rail > div:last-child { border-right: 0; }

.status-rail span {
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.status-rail strong {
  font-size: 0.79rem;
  letter-spacing: 0.02em;
}

.rail-live strong {
  display: flex;
  align-items: center;
  gap: 8px;
}

.overview-section {
  width: var(--shell);
  margin: 0 auto;
  padding: 132px 0;
}

.overview-section + .overview-section {
  border-top: 1px solid var(--line-dark);
}

.section-heading {
  display: grid;
  grid-template-columns: minmax(180px, 0.4fr) minmax(0, 1.6fr);
  gap: 60px;
  margin-bottom: 70px;
}

.section-heading.compact {
  margin-bottom: 46px;
}

.section-index {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  color: var(--muted-light);
}

.section-index span:first-child {
  color: var(--amber);
}

.section-heading h2 {
  max-width: 820px;
  margin-bottom: 20px;
  font-size: clamp(2.4rem, 5vw, 5.3rem);
}

.section-heading > div:last-child > p:last-child {
  max-width: 760px;
  color: var(--muted-light);
  font-size: 1.05rem;
}

.campaign-topology {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border: 1px solid var(--line-dark);
}

.sector-node {
  position: relative;
  min-height: 260px;
  padding: 26px;
  border-right: 1px solid var(--line-dark);
  background: var(--graphite);
}

.sector-node:last-child { border-right: 0; }

.sector-node::after {
  position: absolute;
  z-index: 2;
  top: 58px;
  right: -9px;
  width: 16px;
  height: 16px;
  border: 1px solid var(--line-dark);
  background: var(--graphite);
  content: "";
  transform: rotate(45deg);
}

.sector-node:last-child::after { display: none; }

.sector-node[data-complete="true"]::after,
.sector-node[data-active="true"]::after {
  border-color: var(--amber);
  background: var(--amber);
}

.sector-number {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 53px;
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.7rem;
}

.sector-state {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--muted-light);
  text-transform: uppercase;
}

.sector-state i {
  width: 6px;
  height: 6px;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.sector-node[data-active="true"] .sector-state,
.sector-node[data-complete="true"] .sector-state {
  color: var(--amber-bright);
}

.sector-node[data-complete="true"] .sector-state i {
  border-color: var(--success);
  background: var(--success);
}

.sector-node h3 {
  margin-bottom: 12px;
  font-size: 1.65rem;
}

.sector-node p {
  color: var(--muted-light);
  font-size: 0.78rem;
}

.sector-node button {
  position: absolute;
  right: 20px;
  bottom: 18px;
  left: 20px;
  min-height: 44px;
  border: 0;
  border-top: 1px solid var(--line-dark);
  background: transparent;
  color: var(--off-white);
  font-size: 0.7rem;
  font-weight: 720;
  text-align: left;
}

.sector-node button:hover { color: var(--amber-bright); }

.operator-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--line-dark);
}

.operator-card {
  min-height: 280px;
  padding: 30px;
  border-right: 1px solid var(--line-dark);
}

.operator-card:last-child { border-right: 0; }

.operator-card .card-label,
.rail-block .card-label,
.rules-panel .card-label {
  color: var(--amber-bright);
}

.identity-card > strong {
  display: block;
  margin: 38px 0 18px;
  font-family: var(--font-mono);
  font-size: clamp(1.1rem, 2vw, 1.7rem);
  letter-spacing: 0.02em;
}

.operator-card > p:not(.card-label) {
  color: var(--muted-light);
  font-size: 0.84rem;
}

.text-button {
  min-height: 44px;
  padding: 8px 0;
  border: 0;
  border-bottom: 1px solid var(--line-dark);
  background: transparent;
  color: var(--off-white);
  font-size: 0.76rem;
  font-weight: 720;
}

.text-button:hover {
  border-color: var(--amber);
  color: var(--amber-bright);
}

.inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.integrity-card > strong {
  display: block;
  margin: 38px 0 18px;
  color: var(--amber-bright);
  font-family: var(--font-mono);
  font-size: 1.3rem;
}

.progress-number {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  margin: 20px 0 24px;
}

.progress-number strong {
  font-size: 5.2rem;
  font-weight: 660;
  line-height: 0.9;
  letter-spacing: -0.08em;
}

.progress-number span {
  color: var(--muted-light);
  font-family: var(--font-mono);
}

.progress-track {
  height: 7px;
  margin-bottom: 18px;
  background: var(--graphite-3);
}

.progress-track span {
  display: block;
  width: 0;
  height: 100%;
  background: var(--amber);
  transition: width 400ms ease;
}

.next-card h3 {
  margin: 35px 0 14px;
  font-size: 1.8rem;
}

.compact-button {
  margin-top: 12px;
}

.activity-list {
  display: grid;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line-dark);
  list-style: none;
}

.activity-item {
  display: grid;
  grid-template-columns: 48px minmax(180px, 0.8fr) minmax(240px, 1fr) auto;
  align-items: center;
  gap: 20px;
  min-height: 72px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line-dark);
  font-size: 0.82rem;
}

.activity-item .activity-index {
  color: var(--amber);
  font-family: var(--font-mono);
}

.activity-item .activity-operator {
  overflow: hidden;
  font-family: var(--font-mono);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.activity-item .activity-title {
  color: var(--muted-light);
}

.activity-item time {
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.72rem;
}

.first-blood-mark {
  margin-left: 8px;
  color: var(--amber-bright);
  font-size: 0.7rem;
  text-transform: uppercase;
}

.empty-activity {
  padding: 30px 0;
  color: var(--muted-light);
}

.page-masthead {
  display: grid;
  width: var(--shell);
  grid-template-columns: minmax(0, 1.4fr) minmax(390px, 0.6fr);
  align-items: end;
  gap: 70px;
  margin: 0 auto;
  padding: 94px 0 72px;
  border-bottom: 1px solid var(--line-dark);
}

.page-masthead h1 {
  margin-bottom: 24px;
  font-size: clamp(3.8rem, 8vw, 8rem);
}

.page-masthead > div:first-child > p:last-child {
  max-width: 760px;
  color: var(--muted-light);
  font-size: 1.02rem;
}

.masthead-stats,
.scoreboard-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--line-dark);
  border-left: 1px solid var(--line-dark);
}

.masthead-stats > div,
.scoreboard-summary > div {
  display: grid;
  min-height: 76px;
  align-content: center;
  gap: 2px;
  padding: 12px 15px;
  border-right: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.masthead-stats span,
.scoreboard-summary span {
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.masthead-stats strong,
.scoreboard-summary strong {
  overflow: hidden;
  font-family: var(--font-mono);
  font-size: 0.82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.workspace-layout {
  display: grid;
  width: var(--shell);
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 42px;
  margin: 0 auto;
  padding: 46px 0 120px;
}

.workspace-rail {
  border-right: 1px solid var(--line-dark);
  padding-right: 28px;
}

@media (min-width: 901px) {
  .workspace-rail {
    position: sticky;
    top: 112px;
    align-self: start;
    max-height: calc(100dvh - 132px);
    overflow-y: auto;
    scrollbar-color: var(--line-dark) transparent;
  }
}

.rail-block {
  padding: 28px 0;
  border-bottom: 1px solid var(--line-dark);
}

.rail-block:first-child { padding-top: 0; }

.radial-progress {
  --progress: 0deg;
  position: relative;
  display: grid;
  width: 136px;
  height: 136px;
  place-items: center;
  margin: 28px auto 22px;
  border: 1px solid var(--line-dark);
  border-radius: 50%;
}

.radial-progress::before {
  position: absolute;
  inset: 10px;
  border: 8px solid var(--graphite-3);
  border-top-color: var(--amber);
  border-right-color: var(--amber);
  border-radius: 50%;
  content: "";
  transform: rotate(calc(var(--progress) - 90deg));
}

.radial-progress span {
  z-index: 1;
  font-family: var(--font-mono);
  font-size: 1.2rem;
  font-weight: 700;
}

.progress-block > p:last-child,
.scope-block p:not(.card-label) {
  color: var(--muted-light);
  font-size: 0.74rem;
  text-align: center;
}

.filter-block {
  display: grid;
  gap: 9px;
}

.filter-block label {
  margin-top: 10px;
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.filter-block input[type="search"],
.filter-block select,
.flag-form input,
.lab-editor {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--line-dark);
  border-radius: 0;
  background: var(--graphite-deep);
  padding: 11px 13px;
  color: var(--off-white);
  font-family: var(--font-mono);
  font-size: 0.76rem;
}

.filter-block select {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--muted-light) 50%), linear-gradient(135deg, var(--muted-light) 50%, transparent 50%);
  background-position: calc(100% - 16px) 20px, calc(100% - 11px) 20px;
  background-repeat: no-repeat;
  background-size: 5px 5px, 5px 5px;
}

.check-filter {
  display: flex;
  min-height: 44px;
  align-items: center;
  gap: 10px;
  color: var(--off-white) !important;
  text-transform: none !important;
}

.check-filter input,
.rules-confirm input {
  width: 19px;
  height: 19px;
  accent-color: var(--amber);
}

.scope-block a {
  display: block;
  margin-top: 17px;
  color: var(--amber-bright);
  font-size: 0.73rem;
  font-weight: 720;
  text-align: center;
}

.workspace-toolbar {
  display: flex;
  min-height: 50px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid var(--line-dark);
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.workspace-operation-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  margin-bottom: 28px;
  border: 1px solid var(--line-dark);
  background: var(--line-dark);
}

.workspace-operation-summary button {
  display: grid;
  min-width: 0;
  min-height: 112px;
  align-content: start;
  gap: 6px;
  padding: 15px;
  border: 0;
  background: var(--graphite);
  color: var(--muted-light);
  text-align: left;
}

.workspace-operation-summary button:hover,
.workspace-operation-summary button[aria-pressed="true"] {
  background: var(--graphite-2);
  box-shadow: inset 0 3px 0 var(--amber);
}

.workspace-operation-summary span,
.workspace-operation-summary small {
  font-family: var(--font-mono);
  font-size: 0.7rem;
}

.workspace-operation-summary span {
  color: var(--amber-bright);
  letter-spacing: 0.1em;
}

.workspace-operation-summary strong {
  overflow: hidden;
  color: var(--off-white);
  font-size: 0.78rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.workspace-operation-summary small {
  line-height: 1.45;
}

.workspace-view-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 12px 22px;
}

.legend {
  display: flex;
  flex-wrap: wrap;
  gap: 17px;
}

.legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.legend i {
  width: 7px;
  height: 7px;
  border: 1px solid var(--muted-light);
  border-radius: 50%;
}

.legend i.available { border-color: var(--amber); background: var(--amber); }
.legend i.solved { border-color: var(--success); background: var(--success); }
.legend i.locked { border-color: var(--line-dark); }

.challenge-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 28px;
  background: var(--line-dark);
  border: 1px solid var(--line-dark);
}

.challenge-card {
  position: relative;
  display: flex;
  min-height: 340px;
  flex-direction: column;
  padding: 24px;
  border: 0;
  background: var(--graphite);
  color: var(--off-white);
  text-align: left;
  transition: background-color 140ms ease;
}

.challenge-card:hover {
  background: var(--graphite-2);
}

.challenge-card[data-state="locked"] {
  color: var(--muted-light);
}

.challenge-card[data-state="solved"] {
  box-shadow: inset 0 3px 0 var(--success);
}

.challenge-card[data-state="available"] {
  box-shadow: inset 0 3px 0 var(--amber);
}

.challenge-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 44px;
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.challenge-flags {
  display: flex;
  min-height: 22px;
  flex-wrap: wrap;
  gap: 6px;
  margin: -30px 0 20px;
}

.challenge-flags b {
  padding: 3px 6px;
  border: 1px solid var(--line-dark);
  color: var(--amber-bright);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: 0.06em;
}

.challenge-state {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.challenge-state i {
  width: 7px;
  height: 7px;
  border: 1px solid currentColor;
  border-radius: 50%;
}

[data-state="available"] .challenge-state { color: var(--amber-bright); }
[data-state="available"] .challenge-state i { background: var(--amber); }
[data-state="solved"] .challenge-state { color: var(--success); }
[data-state="solved"] .challenge-state i { background: var(--success); }

.challenge-card h2 {
  margin-bottom: 13px;
  font-size: 1.65rem;
}

.challenge-card-summary {
  margin-bottom: 25px;
  color: var(--muted-light);
  font-size: 0.79rem;
}

.challenge-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 14px;
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid var(--line-dark);
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.7rem;
  text-transform: uppercase;
}

.challenge-card-meta strong {
  color: var(--off-white);
}

.challenge-seal {
  position: absolute;
  top: 63px;
  right: 20px;
  padding: 4px 7px;
  border: 1px solid var(--success);
  color: var(--success);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.09em;
}

.challenge-grid[data-view="compact"] {
  grid-template-columns: 1fr;
}

.challenge-grid[data-view="compact"] .challenge-card {
  display: grid;
  min-height: 0;
  grid-template-columns: minmax(190px, 0.75fr) minmax(260px, 1.4fr) minmax(310px, 1fr);
  align-items: center;
  gap: 18px;
  padding: 17px 20px;
}

.challenge-grid[data-view="compact"] .challenge-card-top {
  margin: 0;
}

.challenge-grid[data-view="compact"] .challenge-flags,
.challenge-grid[data-view="compact"] .challenge-seal,
.challenge-grid[data-view="compact"] .challenge-card-summary {
  display: none;
}

.challenge-grid[data-view="compact"] .challenge-card h2 {
  margin: 0;
  font-size: 1.15rem;
}

.challenge-grid[data-view="compact"] .challenge-card-meta {
  margin: 0;
  padding: 0;
  border: 0;
  justify-content: flex-end;
}

.empty-state {
  padding: 100px 20px;
  border: 1px solid var(--line-dark);
  text-align: center;
}

.scoreboard-signal {
  display: flex;
  height: 100px;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 12px;
}

.scoreboard-signal span {
  width: 18px;
  border-top: 2px solid var(--amber);
  background: var(--graphite-3);
}

.scoreboard-signal span:nth-child(1) { height: 22px; }
.scoreboard-signal span:nth-child(2) { height: 74px; }
.scoreboard-signal span:nth-child(3) { height: 45px; }
.scoreboard-signal span:nth-child(4) { height: 92px; }
.scoreboard-signal span:nth-child(5) { height: 58px; }

.scoreboard-shell {
  width: var(--shell);
  margin: 0 auto;
  padding: 52px 0 130px;
}

.dossier-masthead {
  align-items: center;
}

.dossier-shell {
  width: var(--shell);
  margin: 0 auto;
  padding: 52px 0 130px;
}

.dossier-summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 52px;
  border: 1px solid var(--line-dark);
}

.dossier-summary > div {
  display: grid;
  min-height: 94px;
  align-content: center;
  gap: 5px;
  padding: 18px 22px;
  border-right: 1px solid var(--line-dark);
}

.dossier-summary > div:last-child { border-right: 0; }
.dossier-summary span,
.dossier-case-index,
.dossier-case-meta {
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.69rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.dossier-summary strong { font-size: 0.86rem; }

.dossier-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 42px;
  margin-bottom: 72px;
  padding-bottom: 42px;
  border-bottom: 1px solid var(--line-dark);
}

.dossier-toolbar h2,
.dossier-section-heading h2 {
  margin: 9px 0 12px;
  font-size: clamp(2rem, 4vw, 4rem);
}

.dossier-toolbar > div:first-child > p:last-child {
  max-width: 740px;
  color: var(--muted-light);
}

.dossier-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.dossier-section-heading {
  max-width: 850px;
  margin-bottom: 32px;
}

.dossier-case-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line-dark);
  border-left: 1px solid var(--line-dark);
}

.dossier-case-card {
  display: grid;
  min-height: 310px;
  align-content: start;
  padding: 30px;
  border-right: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
  background: linear-gradient(145deg, rgba(27, 38, 48, 0.54), transparent 70%);
}

.dossier-case-index {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.dossier-case-index span:last-child { color: var(--amber-bright); }
.dossier-case-card h3 { margin: 26px 0 12px; font-size: 1.9rem; }
.dossier-case-card > p { min-height: 72px; color: var(--muted-light); font-size: 0.82rem; }
.dossier-case-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 18px 0 24px; }
.dossier-case-card .text-button { justify-self: start; margin-top: auto; }
.dossier-empty { margin-top: 0; }

.scoreboard-summary {
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 44px;
}

.table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line-dark);
}

.scoreboard-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.scoreboard-table caption {
  padding: 20px;
  border-bottom: 1px solid var(--line-dark);
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-align: left;
  text-transform: uppercase;
}

.scoreboard-table th,
.scoreboard-table td {
  padding: 19px 20px;
  border-bottom: 1px solid var(--line-dark);
  text-align: left;
}

.scoreboard-table th {
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scoreboard-table td {
  font-size: 0.84rem;
}

.scoreboard-table tr:last-child td { border-bottom: 0; }
.scoreboard-table tbody tr.is-player { background: var(--graphite-2); box-shadow: inset 3px 0 0 var(--amber); }
.scoreboard-table td:nth-child(1),
.scoreboard-table td:nth-child(3),
.scoreboard-table td:nth-child(4),
.scoreboard-table td:nth-child(5) { font-family: var(--font-mono); }
.scoreboard-table td:nth-child(1) { color: var(--amber-bright); }
.scoreboard-table td:nth-child(5) { color: var(--muted-light); font-size: 0.72rem; }

.scoreboard-note {
  margin-top: 18px;
  color: var(--muted-light);
  font-size: 0.73rem;
}

.rules-masthead {
  align-items: center;
}

.scope-stamp {
  display: grid;
  min-height: 190px;
  place-items: center;
  align-content: center;
  border: 2px solid var(--amber);
  color: var(--amber-bright);
  font-family: var(--font-mono);
  transform: rotate(-2deg);
}

.scope-stamp span { font-size: 0.62rem; letter-spacing: 0.2em; }
.scope-stamp strong { margin: 10px 0; font-size: 1.1rem; letter-spacing: 0.08em; }
.scope-stamp small { font-size: 0.55rem; letter-spacing: 0.12em; }

.rules-layout {
  display: grid;
  width: var(--shell);
  grid-template-columns: minmax(0, 1.25fr) minmax(380px, 0.75fr);
  gap: 70px;
  margin: 0 auto;
  padding: 80px 0 60px;
}

.rules-primary h2 {
  margin-bottom: 42px;
  font-size: clamp(2.4rem, 5vw, 5rem);
}

.rules-list {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line-dark);
  list-style: none;
  counter-reset: rules;
}

.rules-list li {
  position: relative;
  min-height: 88px;
  padding: 24px 18px 24px 70px;
  border-bottom: 1px solid var(--line-dark);
  color: var(--muted-light);
  counter-increment: rules;
}

.rules-list li::before {
  position: absolute;
  top: 24px;
  left: 8px;
  color: var(--amber-bright);
  content: counter(rules, decimal-leading-zero);
  font-family: var(--font-mono);
  font-size: 0.68rem;
}

.rules-aside {
  display: grid;
  align-content: start;
  gap: 1px;
  background: var(--line-dark);
  border: 1px solid var(--line-dark);
}

.rules-panel {
  padding: 30px;
  background: var(--graphite);
}

.rules-panel ul {
  display: grid;
  gap: 13px;
  margin: 25px 0 0;
  padding: 0;
  color: var(--muted-light);
  font-size: 0.8rem;
  list-style: none;
}

.rules-panel li {
  position: relative;
  padding-left: 19px;
}

.rules-panel li::before {
  position: absolute;
  top: 0.58em;
  left: 0;
  width: 7px;
  height: 1px;
  background: var(--amber);
  content: "";
}

.out-scope li::before { background: var(--danger); }

.rules-footer-callout {
  display: flex;
  width: var(--shell);
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  margin: 0 auto 130px;
  padding: 30px;
  border: 1px solid var(--amber);
}

.rules-footer-callout p {
  max-width: 850px;
  margin: 0;
  color: var(--muted-light);
}

.rules-footer-callout strong { color: var(--off-white); }

.rules-callout-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.range-footer {
  display: grid;
  grid-template-columns: 1fr 1.5fr auto;
  align-items: center;
  gap: 50px;
  min-height: 120px;
  padding: 26px max(32px, calc((100vw - 1460px) / 2));
  border-top: 1px solid var(--line-dark);
  background: var(--graphite-deep);
  color: var(--muted-light);
  font-size: 0.69rem;
}

.range-footer > div {
  display: grid;
  gap: 4px;
}

.range-footer strong {
  color: var(--off-white);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
}

.range-footer p { margin: 0; }
.range-footer a {
  display: flex;
  min-height: 44px;
  align-items: center;
  color: var(--amber-bright);
  font-weight: 700;
}

dialog {
  max-width: none;
  max-height: none;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--off-white);
}

dialog::backdrop {
  background: rgba(5, 9, 12, 0.88);
  backdrop-filter: blur(6px);
}

.rules-dialog {
  width: min(820px, calc(100% - 32px));
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
}

.recovery-dialog {
  width: min(800px, calc(100% - 32px));
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
}

.recovery-shell {
  position: relative;
}

.recovery-shell h2 {
  max-width: 650px;
  font-size: clamp(2.4rem, 6vw, 4.8rem);
}

.recovery-section {
  display: grid;
  gap: 12px;
  margin-top: 28px;
  padding-top: 28px;
  border-top: 1px solid var(--line-dark);
}

.recovery-section h3,
.recovery-section p {
  margin: 0;
}

.recovery-section label,
.integrity-form label {
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.05em;
}

.recovery-section input,
.flag-form select,
.integrity-form select,
.integrity-form textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--line-dark);
  border-radius: 0;
  background: var(--graphite-deep);
  padding: 11px 13px;
  color: var(--off-white);
  font-family: var(--font-mono);
  font-size: 0.78rem;
}

.integrity-form textarea {
  min-height: 110px;
  resize: vertical;
}

[aria-invalid="true"] {
  border-color: var(--danger) !important;
}

.recovery-code-panel {
  display: grid;
  gap: 12px;
  margin-top: 10px;
  padding: 18px;
  border: 1px solid var(--amber);
  background: var(--graphite-deep);
}

.recovery-code-panel code {
  overflow-wrap: anywhere;
  color: var(--amber-bright);
  font-size: 0.86rem;
}

.dialog-shell {
  padding: clamp(30px, 6vw, 64px);
  border: 1px solid var(--amber);
  background: var(--graphite);
  box-shadow: 14px 14px 0 var(--graphite-deep);
}

.dialog-coordinate {
  margin-bottom: 50px;
  color: var(--muted-light);
}

.dialog-shell h2 {
  margin-bottom: 18px;
  font-size: clamp(2.7rem, 7vw, 5.5rem);
}

.dialog-shell > p:not(.eyebrow) {
  max-width: 650px;
  color: var(--muted-light);
}

.dialog-shell ol {
  display: grid;
  gap: 10px;
  margin: 30px 0;
  padding: 0;
  color: var(--muted-light);
  font-size: 0.78rem;
  list-style: none;
  counter-reset: modalrules;
}

.dialog-shell li {
  position: relative;
  padding-left: 38px;
  counter-increment: modalrules;
}

.dialog-shell li::before {
  position: absolute;
  left: 0;
  color: var(--amber-bright);
  content: counter(modalrules, decimal-leading-zero);
  font-family: var(--font-mono);
}

.rules-confirm {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 13px;
  margin: 34px 0;
  padding: 20px;
  border: 1px solid var(--line-dark);
  font-size: 0.82rem;
}

.dialog-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.challenge-dialog {
  width: min(1260px, calc(100% - 32px));
  height: min(92vh, 980px);
}

.challenge-dialog-shell {
  position: relative;
  height: 100%;
  border: 1px solid var(--line-dark);
  background: var(--graphite);
  overflow-y: auto;
  box-shadow: 18px 18px 0 var(--graphite-deep);
}

.mission-controls {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  min-height: 54px;
  border-bottom: 1px solid var(--line-dark);
  background: var(--graphite-deep);
}

.mission-controls button {
  min-height: 52px;
  padding: 10px 18px;
  border: 0;
  border-right: 1px solid var(--line-dark);
  background: transparent;
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.72rem;
}

.mission-controls button:last-child {
  border-right: 0;
  text-align: right;
}

.mission-controls button:hover:not(:disabled) { color: var(--amber-bright); }
.mission-controls button:disabled { opacity: 0.4; }

.mission-mobile-nav {
  display: none;
}

.recovery-reminder {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px 20px;
  padding: 14px clamp(28px, 5vw, 68px);
  border-bottom: 1px solid var(--amber-dark);
  background: rgba(143, 93, 17, 0.14);
  font-size: 0.76rem;
}

.recovery-reminder span { color: var(--muted-light); }
.recovery-reminder button {
  min-height: 44px;
  border: 0;
  background: transparent;
  color: var(--amber-bright);
  font-weight: 720;
}

.dialog-close {
  position: sticky;
  z-index: 15;
  top: 16px;
  float: right;
  width: 48px;
  height: 48px;
  margin: 16px 16px -64px 0;
  border: 1px solid var(--line-dark);
  background: var(--graphite-deep);
  color: var(--off-white);
  font-size: 1.6rem;
}

.dialog-close:hover { border-color: var(--amber); color: var(--amber-bright); }

.mission-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 270px;
  min-height: 310px;
  border-bottom: 1px solid var(--line-dark);
}

.mission-head-copy {
  padding: 58px clamp(28px, 5vw, 68px) 48px;
}

.mission-head h2 {
  max-width: 760px;
  margin: 16px 0 17px;
  font-size: clamp(3rem, 7vw, 6.8rem);
}

.mission-head-copy > p:last-child {
  max-width: 720px;
  color: var(--muted-light);
  font-size: 1rem;
}

.mission-head-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-left: 1px solid var(--line-dark);
}

.mission-head-meta > div {
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 20px;
  border-right: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.mission-head-meta > div:nth-child(even) { border-right: 0; }
.mission-head-meta span { color: var(--muted-light); font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; }
.mission-head-meta strong { font-family: var(--font-mono); font-size: 0.78rem; }

.mission-state-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 15px clamp(28px, 5vw, 68px);
  border-bottom: 1px solid var(--line-dark);
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.mission-state-banner.available { color: var(--amber-bright); }
.mission-state-banner.solved { color: var(--success); }
.mission-state-banner.locked { color: var(--muted-light); }

.mission-state-banner i {
  width: 8px;
  height: 8px;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.mission-state-banner.available i,
.mission-state-banner.solved i { background: currentColor; }

.mission-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(380px, 0.85fr);
}

.mission-narrative,
.mission-workbench {
  padding: clamp(32px, 5vw, 64px);
}

.mission-narrative {
  border-right: 1px solid var(--line-dark);
}

.brief-block {
  margin-bottom: 50px;
}

.brief-block h3,
.mission-workbench h3 {
  margin: 10px 0 16px;
  font-size: 1.8rem;
}

.brief-block > p:last-child {
  color: var(--muted-light);
}

.objective-callout {
  margin-bottom: 48px;
  padding: 24px;
  border-left: 3px solid var(--amber);
  background: var(--graphite-2);
}

.objective-callout p:last-child { margin: 0; }

.skill-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.skill-list li {
  padding: 7px 9px;
  border: 1px solid var(--line-dark);
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.7rem;
  text-transform: uppercase;
}

.artifact-list {
  display: grid;
  margin-top: 22px;
  border-top: 1px solid var(--line-dark);
}

.artifact-row {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  min-height: 76px;
  border-bottom: 1px solid var(--line-dark);
}

.artifact-row[data-verified="true"] {
  box-shadow: inset 2px 0 0 var(--success);
}

.artifact-row[data-verified="true"] .artifact-icon {
  border-color: var(--success);
  color: var(--success);
}

.artifact-icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid var(--line-dark);
  color: var(--amber-bright);
  font-family: var(--font-mono);
  font-size: 0.68rem;
}

.artifact-copy {
  min-width: 0;
}

.artifact-copy strong,
.artifact-copy small {
  display: block;
}

.artifact-copy strong {
  overflow: hidden;
  font-family: var(--font-mono);
  font-size: 0.73rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.artifact-copy small {
  margin-top: 3px;
  color: var(--muted-light);
  font-size: 0.72rem;
}

.artifact-download {
  display: grid;
  min-width: 48px;
  min-height: 44px;
  place-items: center;
  border: 1px solid var(--line-dark);
  background: transparent;
  color: var(--amber-bright);
  font-size: 1.1rem;
}

.artifact-download:hover { border-color: var(--amber); }

.artifact-digest {
  display: block;
  margin-top: 8px;
  overflow-wrap: anywhere;
  color: var(--success);
  font-size: 0.68rem;
  white-space: normal;
}

.digest-copy {
  min-height: 36px;
  margin-top: 5px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--amber-bright);
  font-family: var(--font-mono);
  font-size: 0.7rem;
  text-align: left;
}

.locked-artifacts {
  padding: 24px;
  border: 1px solid var(--line-dark);
  color: var(--muted-light);
  font-size: 0.76rem;
}

.workbench-panel {
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--line-dark);
}

.workbench-panel > p:not(.eyebrow) {
  color: var(--muted-light);
  font-size: 0.77rem;
}

.casebook-receipt {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 22px 0 26px;
  border-top: 1px solid var(--line-dark);
  border-left: 1px solid var(--line-dark);
}

.casebook-receipt span {
  display: grid;
  gap: 3px;
  min-height: 64px;
  align-content: center;
  padding: 12px;
  border-right: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.65rem;
  text-transform: uppercase;
}

.casebook-receipt strong { color: var(--off-white); font-size: 0.76rem; }

.casebook-fields {
  display: grid;
  gap: 18px;
}

.casebook-fields label {
  display: grid;
  gap: 8px;
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.casebook-fields textarea {
  min-height: 112px;
  resize: vertical;
  color: var(--off-white);
  font-family: var(--font-sans);
  font-size: 0.8rem;
  letter-spacing: 0;
  line-height: 1.55;
  text-transform: none;
}

.casebook-fields .casebook-commands {
  min-height: 150px;
  font-family: var(--font-mono);
  font-size: 0.74rem;
}

.casebook-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  margin-top: 18px;
}

.casebook-status {
  flex: 1 1 100%;
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.67rem;
}

.lab-tool-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin: -4px 0 12px;
}

.lab-contract-status {
  min-height: 22px;
  margin: 0 0 14px;
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.69rem;
  white-space: pre-wrap;
}

.lab-contract-status.success { color: var(--success); }
.lab-contract-status.error { color: var(--danger); }

.lab-editor {
  min-height: 190px;
  margin: 14px 0;
  resize: vertical;
  line-height: 1.5;
}

.lab-result {
  min-height: 52px;
  margin: 14px 0 0;
  padding: 13px;
  border: 1px solid var(--line-dark);
  background: var(--graphite-deep);
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.74rem;
  white-space: pre-wrap;
}

.lab-result.success { border-color: var(--success); color: var(--success); }
.lab-result.error { border-color: var(--danger); color: var(--danger); }

.captured-flag {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  padding: 13px;
  border: 1px solid var(--amber);
  background: var(--graphite-deep);
}

.captured-flag code {
  overflow-wrap: anywhere;
  color: var(--amber-bright);
  font-size: 0.7rem;
}

.icon-button {
  min-width: 44px;
  min-height: 44px;
  border: 1px solid var(--line-dark);
  background: transparent;
  color: var(--off-white);
}

.icon-button:hover { border-color: var(--amber); color: var(--amber-bright); }

.hint-list {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.hint-row {
  padding: 14px;
  border: 1px solid var(--line-dark);
  color: var(--muted-light);
  font-size: 0.72rem;
}

.hint-row button {
  display: flex;
  width: 100%;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--off-white);
  text-align: left;
}

.hint-row button span:last-child {
  color: var(--amber-bright);
  font-family: var(--font-mono);
  font-size: 0.7rem;
}

.hint-row.revealed {
  border-color: var(--amber-dark);
}

.hint-row.revealed p {
  margin: 8px 0 0;
}

.flag-form {
  display: grid;
  gap: 10px;
}

.flag-form label {
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.assistance-note,
.form-message {
  min-height: 22px;
  margin: 0;
  color: var(--muted-light);
  font-size: 0.74rem;
}

.flag-form-message {
  min-height: 22px;
  margin: 0;
  font-size: 0.71rem;
}

.flag-form-message.error { color: var(--danger); }
.flag-form-message.success { color: var(--success); }

.solve-banner {
  padding: 23px;
  border: 1px solid var(--success);
  color: var(--success);
}

.solve-banner strong,
.solve-banner span {
  display: block;
}

.solve-banner strong {
  margin-bottom: 6px;
  font-size: 1rem;
}

.solve-banner span {
  color: var(--muted-light);
  font-size: 0.73rem;
}

.unlock-panel {
  padding: 18px;
  border: 1px solid var(--line-dark);
  color: var(--muted-light);
  font-size: 0.75rem;
}

.unlock-checklist,
.integrity-signals ul,
.completion-contract ol {
  display: grid;
  gap: 9px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.unlock-checklist li,
.integrity-signals li,
.completion-contract li {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 8px;
  color: var(--muted-light);
  font-size: 0.78rem;
}

.unlock-checklist li[data-complete="true"] { color: var(--success); }

.completion-contract li {
  grid-template-columns: 24px 1fr;
  counter-increment: completion;
}

.completion-contract ol { counter-reset: completion; }
.completion-contract li::before { color: var(--amber-bright); content: counter(completion, decimal-leading-zero); font-family: var(--font-mono); }

.integrity-workbench { margin-top: 24px; }
.integrity-form { display: grid; gap: 10px; margin-top: 18px; }
.integrity-signals { padding: 16px; border: 1px solid var(--amber-dark); }
.integrity-signals p,
.integrity-clear { margin: 10px 0 0; color: var(--muted-light); font-size: 0.75rem; }
.integrity-signals li { grid-template-columns: 1fr; }

.track-badge {
  display: inline-block;
  padding: 4px 7px;
  border: 1px solid var(--line-dark);
  color: var(--muted-light);
  font-family: var(--font-mono);
  font-size: 0.7rem;
}

.scope-summary {
  display: grid;
  gap: 10px;
  margin: 24px 0;
  padding: 0;
  list-style: none;
}

.scope-summary li {
  position: relative;
  padding-left: 24px;
  color: var(--off-white);
  font-size: 0.82rem;
}

.scope-summary li::before {
  position: absolute;
  left: 0;
  color: var(--amber-bright);
  content: "◆";
  font-size: 0.62rem;
}

.full-rules-disclosure {
  margin: 20px 0;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.full-rules-disclosure summary {
  min-height: 48px;
  padding: 14px 0;
  color: var(--amber-bright);
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 720;
}

.full-rules-disclosure ol {
  margin-top: 10px;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.toast-region {
  position: fixed;
  z-index: 1000;
  right: 22px;
  bottom: max(22px, env(safe-area-inset-bottom));
  display: grid;
  width: min(390px, calc(100% - 44px));
  gap: 10px;
  pointer-events: none;
}

.loading-retry {
  margin-top: 22px;
}

.toast {
  padding: 15px 17px;
  border: 1px solid var(--line-dark);
  background: var(--graphite-deep);
  box-shadow: 8px 8px 0 rgba(0, 0, 0, 0.25);
  color: var(--off-white);
  font-size: 0.76rem;
}

.toast.success { border-color: var(--success); }
.toast.error { border-color: var(--danger); }

@media (max-width: 1180px) {
  .range-header {
    grid-template-columns: 1fr auto;
  }

  .primary-nav { display: none; }
  .header-status { border-left: 0; }
  .range-brand { border-right: 0; }
  .menu-button {
    display: block;
    min-width: 76px;
    height: 48px;
    margin-right: 16px;
    border: 1px solid var(--line-dark);
    background: transparent;
    color: var(--off-white);
    font-size: 0.7rem;
    font-weight: 720;
    text-transform: uppercase;
  }

  .header-status { display: none; }
  .mobile-nav {
    position: absolute;
    top: 87px;
    right: 0;
    left: 0;
    display: grid;
    padding: 12px 32px 22px;
    border-bottom: 1px solid var(--line-dark);
    background: var(--graphite-deep);
  }

  .mobile-nav a {
    min-height: 52px;
    padding: 14px 0;
    border-bottom: 1px solid var(--line-dark);
    font-size: 0.8rem;
    font-weight: 720;
  }

  .hero-frame {
    grid-template-columns: 1fr;
  }

  .hero-copy {
    max-width: 900px;
  }

  .signal-plot {
    width: min(610px, 100%);
    margin-left: auto;
  }

  .campaign-topology {
    grid-template-columns: 1fr 1fr;
  }

  .sector-node {
    border-bottom: 1px solid var(--line-dark);
  }

  .sector-node:nth-child(even) { border-right: 0; }
  .sector-node::after { display: none; }
  .sector-node:last-child { grid-column: 1 / -1; }

  .challenge-grid {
    grid-template-columns: 1fr 1fr;
  }

  .workspace-operation-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .operator-grid { grid-template-columns: 1fr 1fr; }
  .operator-card:nth-child(2) { border-right: 0; }
  .operator-card:nth-child(-n + 2) { border-bottom: 1px solid var(--line-dark); }
}

@media (max-width: 900px) {
  :root { --shell: min(100% - 36px, 1460px); }

  .status-rail {
    grid-template-columns: 1fr 1fr;
  }

  .status-rail > div:nth-child(even) { border-right: 0; }
  .status-rail > div:last-child { grid-column: 1 / -1; border-top: 1px solid var(--line-dark); }

  .section-heading,
  .page-masthead,
  .rules-layout {
    grid-template-columns: 1fr;
  }

  .section-heading { gap: 26px; }

  .operator-grid {
    grid-template-columns: 1fr;
  }

  .operator-card {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--line-dark);
  }

  .operator-card:last-child { border-bottom: 0; }

  .workspace-layout {
    grid-template-columns: 1fr;
  }

  .workspace-rail {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    border-right: 0;
    border-bottom: 1px solid var(--line-dark);
    padding-right: 0;
  }

  .workspace-operation-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .progress-block { display: none; }
  .filter-block { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; align-items: end; }
  .filter-block label { margin-top: 0; }
  .filter-block label[for="challenge-search"],
  .filter-block #challenge-search { grid-column: 1 / -1; }
  .check-filter { align-self: center; }

  .scoreboard-summary { grid-template-columns: 1fr 1fr; }

  .dossier-summary { grid-template-columns: 1fr 1fr; }
  .dossier-summary > div:nth-child(even) { border-right: 0; }
  .dossier-summary > div:nth-child(-n + 2) { border-bottom: 1px solid var(--line-dark); }
  .dossier-toolbar { grid-template-columns: 1fr; align-items: start; }
  .dossier-actions { justify-content: flex-start; }
  .dossier-case-list { grid-template-columns: 1fr; }

  .mission-head,
  .mission-layout {
    grid-template-columns: 1fr;
  }

  .mission-head-meta,
  .mission-narrative {
    border-left: 0;
    border-right: 0;
  }

  .mission-head-meta { border-top: 1px solid var(--line-dark); }

  .range-footer {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 34px 24px;
  }
}

@media (max-width: 650px) {
  :root { --shell: calc(100% - 28px); }

  .range-header { min-height: 74px; }
  .range-brand { padding: 0 15px; }
  .range-brand-copy strong { font-size: 0.7rem; }
  .range-brand-copy small { font-size: 0.6rem; }
  .range-brand-mark { width: 30px; height: 30px; }
  .menu-button { margin-right: 10px; }
  .mobile-nav { top: 73px; padding-inline: 18px; }

  .hero-frame {
    min-height: auto;
    padding: 62px 0 54px;
  }

  .hero-copy h1 { font-size: clamp(3.7rem, 22vw, 6.8rem); }
  .hero-actions { display: grid; }
  .hero-actions .button { width: 100%; }
  .signal-plot { aspect-ratio: 0.9; }
  .plot-label { font-size: 0.62rem; }
  .plot-anomaly { top: 9%; font-size: 0.62rem; }

  .status-rail { grid-template-columns: 1fr; }
  .status-rail > div { border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .status-rail > div:last-child { grid-column: auto; border-top: 0; border-bottom: 0; }

  .overview-section { padding: 84px 0; }
  .campaign-topology { grid-template-columns: 1fr; }
  .sector-node,
  .sector-node:last-child { grid-column: auto; border-right: 0; }

  .activity-item {
    grid-template-columns: 32px 1fr;
    gap: 5px 12px;
    padding: 16px 0;
  }

  .activity-item .activity-title,
  .activity-item time { grid-column: 2; }

  .page-masthead { padding: 64px 0 48px; gap: 32px; }
  .masthead-stats,
  .scoreboard-summary { grid-template-columns: 1fr 1fr; }

  .dossier-summary { grid-template-columns: 1fr; }
  .dossier-summary > div,
  .dossier-summary > div:nth-child(even) { border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .dossier-summary > div:last-child { border-bottom: 0; }
  .dossier-actions { display: grid; }
  .dossier-actions .button { width: 100%; }
  .dossier-case-card { min-height: 0; padding: 24px 20px; }

  .workspace-layout { padding-top: 30px; }
  .workspace-rail { display: block; }
  .filter-block { display: grid; grid-template-columns: 1fr; }
  .filter-block label[for="challenge-search"],
  .filter-block #challenge-search { grid-column: auto; }
  .scope-block { display: none; }
  .workspace-toolbar { display: grid; }
  .workspace-view-actions { justify-content: flex-start; }
  .workspace-operation-summary {
    display: flex;
    margin-inline: -14px;
    padding: 0 14px 8px;
    overflow-x: auto;
    border-inline: 0;
    scroll-snap-type: x mandatory;
  }
  .workspace-operation-summary button {
    min-width: min(76vw, 250px);
    scroll-snap-align: start;
  }
  .challenge-grid { grid-template-columns: 1fr; }
  .challenge-card { min-height: 300px; }
  .challenge-grid[data-view="compact"] .challenge-card {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .challenge-grid[data-view="compact"] .challenge-card-meta { justify-content: flex-start; }

  .rules-layout { gap: 35px; padding-top: 55px; }
  .rules-footer-callout { display: grid; margin-bottom: 80px; }

  .dialog-shell { padding: 26px 22px; }
  .dialog-coordinate { margin-bottom: 30px; }
  .dialog-actions { display: grid; }
  .dialog-actions .button { width: 100%; }
  .challenge-dialog { width: 100%; height: 100vh; height: 100dvh; max-height: 100dvh; }
  .challenge-dialog-shell { border: 0; box-shadow: none; }
  .mission-controls {
    grid-template-columns: 1fr 1fr 1fr;
    padding-right: 58px;
  }
  .mission-controls button { padding-inline: 8px; font-size: 0.72rem; }
  .mission-mobile-nav {
    position: sticky;
    z-index: 10;
    top: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-bottom: 1px solid var(--line-dark);
    background: rgba(11, 17, 22, 0.97);
  }
  .mission-mobile-nav button {
    min-height: 46px;
    border: 0;
    border-right: 1px solid var(--line-dark);
    background: transparent;
    color: var(--muted-light);
    font-family: var(--font-mono);
    font-size: 0.7rem;
    text-transform: uppercase;
  }
  .recovery-reminder {
    grid-template-columns: 1fr;
    gap: 4px;
    padding-inline: 20px;
  }
  .recovery-reminder button { justify-self: start; padding: 0; }
  .mission-head-copy,
  .mission-narrative,
  .mission-workbench { padding: 34px 20px; }
  .mission-head h2 { font-size: clamp(2.7rem, 16vw, 4.6rem); }
  .mission-head-meta { grid-template-columns: 1fr 1fr; }
  .mission-state-banner { padding-inline: 20px; }
  .artifact-row { grid-template-columns: 38px minmax(0, 1fr) 44px; }
  .casebook-receipt { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

@media (forced-colors: active) {
  .status-pulse,
  .rail-live i,
  .challenge-state i,
  .legend i,
  .sector-state i {
    forced-color-adjust: none;
  }
}
/* Operator identity and collaborative casework */
.account-view { padding-bottom: 5rem; }
.account-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.account-card { padding: clamp(1.25rem, 3vw, 2.5rem); border: 1px solid #34424d; background: #111c25; min-width: 0; }
.account-card h2 { font-size: 1.8rem; margin: .5rem 0 1rem; }
.account-card h3 { margin-top: 1.75rem; }
.account-card p { line-height: 1.7; color: #b7c3cb; }
.account-card label, .standings-controls label { display: flex; flex-direction: column; gap: .5rem; margin: 1rem 0; font-size: .95rem; }
.account-card input:not([type=checkbox]), .account-card textarea, .account-card select, .standings-controls select { width: 100%; min-width: 0; padding: .9rem; border: 1px solid #53626d; background: #0a1219; color: #f5f2ed; font: inherit; border-radius: 0; }
.account-card textarea { min-height: 6rem; resize: vertical; }
.account-card .check-label { flex-direction: row; align-items: center; }
.account-card .check-label input { width: 1.25rem; height: 1.25rem; }
.account-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem; margin: 1.2rem 0; }
.account-list { list-style: none; padding: 0; margin: 1rem 0; max-height: 28rem; overflow: auto; }
.account-list li { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #34424d; overflow-wrap: anywhere; }
.account-list li div { display: grid; gap: .35rem; min-width: 0; }
.account-list small { color: #a8b6c0; font-size: .875rem; }
.account-message { position: sticky; top: 0; z-index: 4; margin: 0 0 1rem; background: #17292c; padding: 1rem; border-left: 3px solid #8bc6af; overflow-wrap: anywhere; }
.account-message:empty { display: none; }
.account-message.is-error { border-color: #ed9a8f; background: #302123; }
.account-status { color: #c8ab73; margin-bottom: 1.5rem; }
.standings-controls { display: flex; gap: 1.5rem; padding: 0 1.5rem; }
.danger { color: #ed9a8f; }
#account-panel[aria-busy=true] button { opacity: .65; pointer-events: none; }
@media (max-width: 850px) { .account-grid { grid-template-columns: 1fr; } .account-actions .button { width: 100%; } .standings-controls { flex-wrap: wrap; gap: 0 1rem; } }
/* Professional investigations retain the range's graphite-and-amber identity. */
.investigation-view,.operations-view { padding-bottom: 4rem; }
.investigation-catalog { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.investigation-card { min-width:0; padding:1.75rem; border:1px solid var(--line,#34424b); border-top:3px solid #d8a234; background:#101d25; display:flex; flex-direction:column; gap:1rem; }
.investigation-card h2 { font-size:clamp(1.4rem,2.5vw,2.2rem); line-height:1.15; margin:0; }
.investigation-card p { margin:0; line-height:1.65; }
.investigation-card details { margin-top:auto; }
.investigation-metadata { color:#9ab5c2; font-size:.9rem; line-height:1.6; }
.investigation-stages { list-style:decimal-leading-zero; padding-left:2rem; border-left:2px solid #d8a234; }
.investigation-stages li { padding:.5rem 0 .5rem .3rem; }
.investigation-resume { color:inherit; text-align:left; background:#0b141b; border:1px solid #34424b; padding:1rem; display:grid; grid-template-columns:1fr auto; gap:.5rem; cursor:pointer; }
.investigation-resume small { grid-column:1/-1; color:#a9b8c3; font-size:.875rem; }
.investigation-events { margin-top:2rem; }
.investigation-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; padding:1rem 0; margin-bottom:1.5rem; border-block:1px solid #34424b; }
.investigation-toolbar strong { margin-left:auto; color:#d8a234; }
.investigation-layout { display:grid; grid-template-columns:minmax(220px,280px) minmax(0,1fr); gap:2rem; align-items:start; }
.investigation-rail { position:sticky; top:1rem; line-height:1.7; }
.investigation-rail h2 { font-size:1.25rem; }
.investigation-rail nav { display:grid; gap:1rem; margin:1.5rem 0; }
.investigation-rail nav a { color:#d8a234; text-underline-offset:.3em; }
.investigation-main { min-width:0; display:grid; gap:1.5rem; }
.investigation-main .account-card { min-width:0; scroll-margin-top:2rem; }
.investigation-main p,.operations-view p { line-height:1.65; }
.investigation-main details,.investigation-card details { border-top:1px solid #34424b; padding:1rem 0; }
.investigation-view summary,.operations-view summary { cursor:pointer; font-size:1rem; line-height:1.5; padding:.5rem 0; }
.investigation-view pre,.operations-view pre { background:#081219; color:#b8daca; font-size:.875rem; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; padding:1rem; max-height:28rem; overflow:auto; }
.investigation-view code { overflow-wrap:anywhere; font-size:.9em; color:#b8daca; }
.acquisition-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.acquisition-grid .account-list li { display:block; overflow-wrap:anywhere; font-size:.875rem; }
.acquisition-grid .account-list button { display:block; }
.investigation-inline-form { display:flex; flex-wrap:wrap; gap:1rem; align-items:end; }
.investigation-inline-form label { flex:1 1 180px; }
.investigation-inline-form button { margin-bottom:1rem; }
.investigation-timeline { list-style:none; padding:0; margin:1.5rem 0; border-left:2px solid #d8a234; }
.investigation-timeline li { padding:1rem 1.5rem; border-bottom:1px solid #34424b; }
.investigation-timeline time { color:#9ab5c2; font-size:.875rem; }
.investigation-rubric { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.investigation-rubric div { border-bottom:1px solid #34424b; padding-bottom:.8rem; }
.investigation-rubric dt { color:#d8a234; font-weight:700; }
.investigation-rubric dd { margin:.4rem 0 0; font-size:1rem; line-height:1.6; }
.code-input { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.95rem; line-height:1.6; tab-size:2; }
.investigation-view .checkbox-label { display:flex; align-items:start; gap:.75rem; }
.investigation-view .checkbox-label input { width:auto; flex:0 0 auto; margin-top:.3rem; }
.operations-view #operations-root { display:grid; gap:1.5rem; }
.operations-view article { border-bottom:1px solid #34424b; padding:1rem 0 2rem; }
.operations-view form { max-width:52rem; }
.investigation-view button:focus-visible,.investigation-view a:focus-visible,.operations-view button:focus-visible { outline:3px solid #e3b34f; outline-offset:4px; }
.investigation-view input,.investigation-view textarea,.investigation-view select,.operations-view input,.operations-view textarea,.operations-view select { min-width:0; max-width:100%; font-size:1rem; }
@media(max-width:1100px) { .investigation-catalog { grid-template-columns:1fr; } .investigation-card { padding:1.5rem; } }
@media(max-width:760px) { .investigation-layout { grid-template-columns:1fr; } .investigation-rail { position:static; } .investigation-rail nav { grid-template-columns:repeat(2,minmax(0,1fr)); } .acquisition-grid,.investigation-rubric { grid-template-columns:1fr; } .investigation-toolbar strong { margin-left:0; } .investigation-main .account-card { padding:1.25rem; } }
