:root {
  color-scheme: dark;
  --void: #071019;
  --ink: #0a1620;
  --plate: #0e1e29;
  --plate-high: #132934;
  --line: #23404a;
  --line-hot: #3b6670;
  --paper: #f2ead8;
  --muted: #91a6a9;
  --faint: #587078;
  --fox: #ff8a3d;
  --aqua: #56c9c3;
  --violet: #9188ff;
  --danger: #ff7067;
  --display: Bahnschrift, "Arial Narrow", sans-serif;
  --body: "Segoe UI Variable", "Segoe UI", sans-serif;
  --utility: "Cascadia Code", Consolas, monospace;
}

* { box-sizing: border-box; }

html, body { min-height: 100%; }

body {
  margin: 0;
  background: var(--void);
  color: var(--paper);
  font-family: var(--body);
  overflow: hidden;
}

button, input, select, textarea { font: inherit; }
a { color: inherit; }

.skip-link {
  position: fixed;
  z-index: 100;
  left: 1rem;
  top: -5rem;
  padding: .8rem 1rem;
  background: var(--paper);
  color: var(--void);
  font-weight: 700;
}
.skip-link:focus { top: 1rem; }

:focus-visible {
  outline: 3px solid var(--paper);
  outline-offset: 3px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.world {
  min-height: 100vh;
  display: grid;
  grid-template-rows: 64px minmax(0, 1fr);
  background:
    radial-gradient(circle at 52% 48%, rgba(86, 201, 195, .06), transparent 38%),
    var(--void);
}

.masthead {
  display: grid;
  grid-template-columns: 268px minmax(230px, 1fr) auto;
  align-items: center;
  gap: 1.25rem;
  min-width: 0;
  padding: 0 1.15rem;
  border-bottom: 1px solid var(--line);
  background: rgba(7, 16, 25, .96);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  text-decoration: none;
  width: max-content;
}
.brand-mark {
  width: 30px;
  height: 34px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: end;
  gap: 3px;
  transform: skewY(-12deg);
}
.brand-mark i { background: var(--fox); border-radius: 1px 1px 0 0; }
.brand-mark i:nth-child(1) { height: 55%; }
.brand-mark i:nth-child(2) { height: 100%; }
.brand-mark i:nth-child(3) { height: 72%; }
.brand b {
  display: block;
  font: 800 1.18rem/1 var(--display);
  letter-spacing: .2em;
}
.brand small {
  display: block;
  margin-top: .25rem;
  color: var(--muted);
  font: 600 .61rem/1 var(--utility);
  letter-spacing: .12em;
}

.system-pill {
  justify-self: start;
  display: grid;
  grid-template-columns: auto auto;
  gap: 0 .5rem;
  align-items: center;
  color: var(--aqua);
  font: 600 .72rem/1.2 var(--utility);
  text-transform: uppercase;
  letter-spacing: .07em;
}
.system-pill small {
  grid-column: 2;
  color: var(--muted);
  font-size: .62rem;
  text-transform: none;
  letter-spacing: 0;
}
.pulse-dot {
  grid-row: 1 / 3;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--aqua);
  box-shadow: 0 0 0 5px rgba(86, 201, 195, .09);
}
.world[data-animate="true"] .pulse-dot { animation: pulse 1.8s ease-out infinite; }

.mast-actions { display: flex; align-items: center; gap: .6rem; }
.mast-actions a, .read-only {
  border: 1px solid var(--line);
  padding: .45rem .65rem;
  color: var(--muted);
  font: .65rem var(--utility);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.mast-actions a:hover { border-color: var(--aqua); color: var(--paper); }
.read-only { color: var(--fox); border-color: rgba(255, 138, 61, .38); }

.city-shell {
  display: grid;
  grid-template-columns: 230px minmax(480px, 1fr) 304px;
  min-height: 0;
}

.city-index, .operations-rail {
  min-height: 0;
  overflow-y: auto;
  scrollbar-color: var(--line-hot) transparent;
  background: rgba(10, 22, 32, .88);
}
.city-index { border-right: 1px solid var(--line); }
.operations-rail { border-left: 1px solid var(--line); }

.rail-heading { padding: 1.15rem; border-bottom: 1px solid var(--line); }
.rail-heading span, .section-heading span {
  display: block;
  color: var(--faint);
  font: 600 .58rem/1 var(--utility);
  text-transform: uppercase;
  letter-spacing: .12em;
}
.rail-heading strong {
  display: block;
  margin-top: .4rem;
  font: 650 .9rem/1.25 var(--display);
  letter-spacing: .025em;
}

.city-counts { margin: 0; padding: .7rem 1.15rem 1rem; }
.city-counts div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .75rem;
  padding: .55rem 0;
  border-bottom: 1px dotted var(--line);
}
.city-counts dt { color: var(--muted); font-size: .75rem; }
.city-counts dd { margin: 0; font: 700 1.05rem var(--utility); }
.city-counts div:last-child dd { color: var(--fox); }

.depth-key { padding: 0 1.15rem 1rem; }
.depth-key span {
  display: grid;
  grid-template-columns: 2.2rem 1fr;
  gap: .2rem;
  padding: .45rem .35rem;
  color: var(--faint);
  border-left: 1px solid var(--line);
  font: .67rem var(--utility);
}
.depth-key b { font-weight: 500; color: var(--line-hot); }
.depth-key .key-active { color: var(--paper); border-left: 2px solid var(--fox); background: rgba(255, 138, 61, .06); }
.depth-key .key-active b { color: var(--fox); }

.rail-section { padding: 1rem 1.15rem; border-top: 1px solid var(--line); }
.section-heading {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: .75rem;
}
.section-heading h2 {
  margin: 0;
  font: 650 .83rem/1.15 var(--display);
  letter-spacing: .035em;
}
.section-heading span { flex: 0 0 auto; }

.department-index ul, .signal-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.department-index li {
  padding: .48rem 0;
  color: var(--muted);
  font: .66rem/1.35 var(--utility);
  border-bottom: 1px dotted rgba(35, 64, 74, .65);
}

.map-stage { min-width: 0; min-height: 0; display: grid; grid-template-rows: auto minmax(0, 1fr) 28px; }
.map-toolbar {
  min-height: 70px;
  display: grid;
  grid-template-columns: minmax(120px, 1fr) minmax(220px, 350px) auto;
  align-items: center;
  gap: 1rem;
  padding: .65rem 1rem;
  border-bottom: 1px solid var(--line);
  background: var(--ink);
}
.breadcrumbs { display: flex; gap: .45rem; color: var(--faint); font: .66rem var(--utility); text-transform: uppercase; }
.breadcrumbs a { color: var(--muted); }
.breadcrumbs b { color: var(--fox); font-weight: 600; }

.search-field span {
  display: block;
  margin-bottom: .3rem;
  color: var(--muted);
  font: .56rem var(--utility);
  text-transform: uppercase;
  letter-spacing: .08em;
}
.search-field input {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 0;
  padding: .52rem .65rem;
  background: var(--void);
  color: var(--paper);
  font: .74rem var(--utility);
}
.search-field input::placeholder { color: var(--faint); }
.search-field input:focus { border-color: var(--aqua); }

.map-controls { display: flex; gap: .35rem; }
.map-controls button {
  min-width: 34px;
  min-height: 34px;
  border: 1px solid var(--line);
  background: var(--plate);
  color: var(--paper);
  cursor: pointer;
  font: .7rem var(--utility);
}
.map-controls button:hover { border-color: var(--fox); color: var(--fox); }

.map-viewport {
  position: relative;
  min-height: 0;
  overflow: hidden;
  isolation: isolate;
  background-color: #08151e;
  background-image:
    linear-gradient(rgba(86, 201, 195, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(86, 201, 195, .045) 1px, transparent 1px),
    linear-gradient(rgba(86, 201, 195, .018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(86, 201, 195, .018) 1px, transparent 1px);
  background-size: 64px 64px, 64px 64px, 16px 16px, 16px 16px;
}
.map-viewport::before {
  content: "";
  position: absolute;
  inset: 7%;
  z-index: -1;
  border: 1px solid rgba(86, 201, 195, .08);
  background:
    linear-gradient(32deg, transparent 47%, rgba(255, 138, 61, .035) 48%, rgba(255, 138, 61, .035) 52%, transparent 53%);
  transform: rotate(-2deg);
}

.coordinate {
  position: absolute;
  z-index: 2;
  color: rgba(145, 166, 169, .36);
  font: .53rem var(--utility);
  letter-spacing: .11em;
  pointer-events: none;
}
.x-coordinate { top: 13px; left: 18px; }
.y-coordinate { bottom: 22px; left: 10px; writing-mode: vertical-rl; }

.city-map { position: absolute; inset: 0; z-index: 4; }
.city-map:not(:empty) + .map-empty { display: none; }
.map-empty {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: .8rem;
  color: var(--faint);
  font: .64rem var(--utility);
  text-transform: uppercase;
  letter-spacing: .08em;
}
.loader-mark {
  width: 18px;
  height: 18px;
  border: 1px solid var(--line-hot);
  border-top-color: var(--fox);
  transform: rotate(45deg);
}
.world[data-animate="true"] .loader-mark { animation: loader 1.4s ease-in-out infinite; }

.council-core {
  position: absolute;
  left: 50%;
  top: 48%;
  z-index: 3;
  width: 144px;
  height: 144px;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  pointer-events: none;
}
.core-orbit { position: absolute; border: 1px solid rgba(86, 201, 195, .25); border-radius: 50%; }
.orbit-one { inset: 8px; }
.orbit-two { inset: 22px; border-style: dashed; border-color: rgba(255, 138, 61, .34); }
.world[data-animate="true"] .orbit-two { animation: orbit 24s linear infinite; }
.core-building {
  width: 44px;
  height: 64px;
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 3px;
  padding: 5px;
  border: 1px solid rgba(255, 138, 61, .62);
  background: rgba(7, 16, 25, .82);
  box-shadow: 0 0 42px rgba(255, 138, 61, .12);
  clip-path: polygon(50% 0, 100% 22%, 100% 100%, 0 100%, 0 22%);
}
.core-building b { width: 8px; background: var(--fox); opacity: .65; }
.core-building b:nth-child(1) { height: 38%; }
.core-building b:nth-child(2) { height: 72%; }
.core-building b:nth-child(3) { height: 52%; }
.council-core em {
  position: absolute;
  bottom: -4px;
  color: var(--fox);
  font: normal 600 .55rem var(--utility);
  letter-spacing: .08em;
}

.transit-lines { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.transit-lines i { position: absolute; left: 50%; top: 48%; height: 1px; width: 42%; transform-origin: 0 50%; background: linear-gradient(90deg, rgba(255,138,61,.4), transparent); }
.transit-lines i:nth-child(1) { transform: rotate(18deg); }
.transit-lines i:nth-child(2) { transform: rotate(138deg); }
.transit-lines i:nth-child(3) { transform: rotate(218deg); }
.transit-lines i:nth-child(4) { transform: rotate(318deg); }

.map-node {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 5;
  min-width: 112px;
  max-width: 158px;
  display: grid;
  grid-template-columns: 25px 1fr;
  grid-template-rows: auto auto;
  gap: .05rem .45rem;
  padding: .48rem .55rem;
  border: 1px solid rgba(86, 201, 195, .32);
  border-left: 2px solid var(--aqua);
  background: rgba(10, 22, 32, .92);
  color: var(--paper);
  text-align: left;
  transform: translate(-50%, -50%);
  cursor: pointer;
  box-shadow: 0 7px 22px rgba(0, 0, 0, .25);
}
.map-node[data-grid-x="5"] { left: 5%; }
.map-node[data-grid-x="10"] { left: 10%; }
.map-node[data-grid-x="15"] { left: 15%; }
.map-node[data-grid-x="20"] { left: 20%; }
.map-node[data-grid-x="25"] { left: 25%; }
.map-node[data-grid-x="30"] { left: 30%; }
.map-node[data-grid-x="35"] { left: 35%; }
.map-node[data-grid-x="40"] { left: 40%; }
.map-node[data-grid-x="45"] { left: 45%; }
.map-node[data-grid-x="50"] { left: 50%; }
.map-node[data-grid-x="55"] { left: 55%; }
.map-node[data-grid-x="60"] { left: 60%; }
.map-node[data-grid-x="65"] { left: 65%; }
.map-node[data-grid-x="70"] { left: 70%; }
.map-node[data-grid-x="75"] { left: 75%; }
.map-node[data-grid-x="80"] { left: 80%; }
.map-node[data-grid-x="85"] { left: 85%; }
.map-node[data-grid-x="90"] { left: 90%; }
.map-node[data-grid-x="95"] { left: 95%; }
.map-node[data-grid-y="5"] { top: 5%; }
.map-node[data-grid-y="10"] { top: 10%; }
.map-node[data-grid-y="15"] { top: 15%; }
.map-node[data-grid-y="20"] { top: 20%; }
.map-node[data-grid-y="25"] { top: 25%; }
.map-node[data-grid-y="30"] { top: 30%; }
.map-node[data-grid-y="35"] { top: 35%; }
.map-node[data-grid-y="40"] { top: 40%; }
.map-node[data-grid-y="45"] { top: 45%; }
.map-node[data-grid-y="50"] { top: 50%; }
.map-node[data-grid-y="55"] { top: 55%; }
.map-node[data-grid-y="60"] { top: 60%; }
.map-node[data-grid-y="65"] { top: 65%; }
.map-node[data-grid-y="70"] { top: 70%; }
.map-node[data-grid-y="75"] { top: 75%; }
.map-node[data-grid-y="80"] { top: 80%; }
.map-node[data-grid-y="85"] { top: 85%; }
.map-node[data-grid-y="90"] { top: 90%; }
.map-node[data-grid-y="95"] { top: 95%; }
.map-node:hover, .map-node[aria-pressed="true"] {
  border-color: var(--fox);
  border-left-color: var(--fox);
  transform: translate(-50%, -50%) translateY(-3px);
}
.map-node strong { font: 650 .72rem/1.1 var(--display); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.map-node span { color: var(--muted); font: .54rem/1.2 var(--utility); text-transform: uppercase; }
.map-node-skyline {
  grid-row: 1 / 3;
  width: 25px;
  height: 27px;
  align-self: center;
  background:
    linear-gradient(90deg, transparent 0 2px, currentColor 2px 8px, transparent 8px 10px, currentColor 10px 17px, transparent 17px 19px, currentColor 19px 24px),
    linear-gradient(0deg, currentColor 0 3px, transparent 3px);
  color: var(--aqua);
  opacity: .72;
}
.map-node-clusters { min-width: 142px; border-color: rgba(145, 136, 255, .38); border-left-color: var(--violet); }
.map-node-clusters .map-node-skyline { color: var(--violet); transform: scale(1.15); }
.map-node[data-status*="planned"] { border-left-color: var(--faint); opacity: .8; }
.map-node[data-status*="degraded"] { border-left-color: var(--danger); }
.map-node[data-activity="running"] { border-left-color: var(--aqua); box-shadow: 0 7px 22px rgba(0,0,0,.25), 0 0 18px rgba(86,201,195,.1); }
.map-node[data-activity="claimed"] { border-left-color: var(--violet); }
.map-node[data-activity="stale"] { border-left-color: var(--fox); }
.map-node[data-activity="unknown"] { border-left-color: var(--faint); }
.worker-lane {
  grid-column: 1 / -1;
  min-height: 12px;
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: .28rem;
  padding-top: .28rem;
  border-top: 1px solid rgba(86,201,195,.13);
  color: var(--aqua);
  overflow: hidden;
}
.worker-unit {
  position: relative;
  width: 8px;
  height: 7px;
  flex: 0 0 auto;
  border: 1px solid currentColor;
  border-radius: 2px 2px 1px 1px;
  background: rgba(86,201,195,.12);
}
.worker-unit::before, .worker-unit::after {
  content: "";
  position: absolute;
  top: -4px;
  width: 3px;
  height: 4px;
  border-top: 1px solid currentColor;
}
.worker-unit::before { left: -1px; transform: rotate(38deg); }
.worker-unit::after { right: -1px; transform: rotate(-38deg); }
.worker-unit[data-worker-status="claimed"] { color: var(--violet); background: rgba(145,136,255,.14); }
.worker-unit[data-worker-status="stale"] { color: var(--fox); background: rgba(255,138,61,.12); }
.worker-unit[data-worker-status="unknown"] { color: var(--faint); background: rgba(145,166,169,.1); }
.worker-overflow { margin-left: auto; color: var(--muted); font: 600 .48rem var(--utility); }
.world[data-animate="true"] .worker-unit[data-worker-status="running"] { animation: worker-route 1.8s ease-in-out infinite alternate; }
.world[data-animate="true"] .worker-unit[data-worker-status="running"]:nth-child(2) { animation-delay: -.6s; }
.world[data-animate="true"] .worker-unit[data-worker-status="running"]:nth-child(3) { animation-delay: -1.2s; }

.map-legend {
  position: absolute;
  z-index: 8;
  right: 12px;
  bottom: 12px;
  display: flex;
  gap: .8rem;
  padding: .42rem .55rem;
  border: 1px solid rgba(35,64,74,.8);
  background: rgba(7,16,25,.82);
  color: var(--muted);
  font: .56rem var(--utility);
}
.map-legend i { display: inline-block; width: 7px; height: 7px; margin-right: .3rem; }
.legend-active { background: var(--aqua); }
.legend-planned { background: var(--faint); }
.legend-alert { background: var(--danger); }
.keyboard-note {
  position: absolute;
  z-index: 7;
  left: 22px;
  bottom: 8px;
  max-width: 48%;
  margin: 0;
  color: rgba(145,166,169,.45);
  font: .52rem var(--utility);
}

.city-status {
  padding: 6px 1rem;
  border-top: 1px solid var(--line);
  color: var(--muted);
  background: var(--ink);
  font: .58rem var(--utility);
}

.selection-card { padding: 1.15rem; background: linear-gradient(140deg, rgba(255,138,61,.09), transparent 60%); border-bottom: 1px solid var(--line); }
.selection-card p { margin: .5rem 0 .9rem; color: var(--muted); font-size: .76rem; line-height: 1.5; }
.tower-readout { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.tower-readout span { padding: .5rem; border: 1px solid var(--line); color: var(--faint); font: .55rem var(--utility); text-transform: uppercase; }
.tower-readout b { display: block; margin-top: .25rem; color: var(--paper); font-size: .68rem; }

.council-console {
  position: relative;
  padding: 1rem 1.15rem 1.15rem;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(86,201,195,.07) 0 1px, transparent 1px) 18px 0 / 7px 100%,
    linear-gradient(145deg, rgba(145,136,255,.07), transparent 52%),
    var(--plate);
}
.council-console::before {
  content: "";
  position: absolute;
  top: 0;
  left: 14px;
  width: 9px;
  height: 9px;
  border: 2px solid var(--void);
  border-radius: 50%;
  background: var(--fox);
  box-shadow: 0 0 0 1px var(--fox), 0 0 14px rgba(255,138,61,.25);
}
.council-console-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .8rem;
  margin-bottom: .8rem;
  padding-left: .35rem;
}
.council-console-head h2 {
  margin: .25rem 0 0;
  font: 650 .88rem/1.1 var(--display);
  letter-spacing: .035em;
}
.council-seal, .council-line-state, .sealed-transcript > span {
  color: var(--aqua);
  font: 600 .52rem/1 var(--utility);
  letter-spacing: .09em;
  text-transform: uppercase;
}
.council-line-state {
  padding: .3rem .4rem;
  border: 1px solid rgba(86,201,195,.4);
  color: var(--paper);
  white-space: nowrap;
}
.council-field { margin-top: .65rem; }
.council-field label {
  display: block;
  margin-bottom: .3rem;
  color: var(--muted);
  font: 600 .58rem var(--utility);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.council-field select, .council-field textarea {
  width: 100%;
  min-height: 34px;
  border: 1px solid var(--line-hot);
  border-radius: 0;
  background: rgba(7,16,25,.84);
  color: var(--paper);
  font: .63rem/1.45 var(--utility);
}
.council-field select { padding: .4rem .45rem; }
.council-field textarea {
  min-height: 82px;
  max-height: 190px;
  padding: .55rem;
  resize: vertical;
}
.council-field small {
  display: block;
  margin-top: .3rem;
  color: var(--faint);
  font: .52rem/1.4 var(--utility);
}
.council-actions { display: grid; grid-template-columns: 1fr auto; gap: .45rem; margin-top: .7rem; }
.council-actions button {
  min-height: 32px;
  padding: .4rem .65rem;
  border: 1px solid var(--line-hot);
  border-radius: 0;
  background: transparent;
  color: var(--paper);
  cursor: pointer;
  font: 650 .6rem var(--utility);
  text-transform: uppercase;
  letter-spacing: .05em;
}
.council-actions [data-council-ask] { border-color: var(--fox); background: rgba(255,138,61,.13); }
.council-actions button:hover:not(:disabled) { border-color: var(--aqua); }
.council-actions button:disabled { cursor: not-allowed; color: var(--faint); opacity: .7; }
.council-status {
  min-height: 2.4em;
  margin: .55rem 0 0;
  color: var(--muted);
  font: .55rem/1.4 var(--utility);
}
.sealed-transcript {
  margin-top: .8rem;
  padding: .65rem;
  border: 1px solid var(--line);
  border-left: 3px solid var(--violet);
  background: rgba(7,16,25,.82);
}
.sealed-transcript > span { color: var(--violet); }
.sealed-transcript pre {
  min-height: 4.5rem;
  max-height: 13rem;
  margin: .5rem 0 0;
  overflow: auto;
  color: var(--paper);
  font: .61rem/1.55 var(--utility);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.signal-list li {
  position: relative;
  padding: .48rem 0 .48rem .75rem;
  border-bottom: 1px dotted var(--line);
  color: var(--muted);
  font: .62rem/1.45 var(--utility);
}
.signal-list li::before { content: ""; position: absolute; left: 0; top: .8rem; width: 4px; height: 4px; background: var(--aqua); }
.alert-list li::before { background: var(--fox); }
.receipt-list li::before { background: var(--violet); }
.ticket-desk { background: linear-gradient(150deg, rgba(86,201,195,.035), transparent 46%); }
.ticket-aggregate {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin: .75rem 0 0;
  padding: 1px;
  background: var(--line);
}
.ticket-aggregate div { padding: .55rem; background: var(--ink); }
.ticket-aggregate dt {
  color: var(--muted);
  font: 600 .5rem var(--utility);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.ticket-aggregate dd { margin: .25rem 0 0; color: var(--paper); font: 700 .8rem var(--utility); }
.ticket-private { margin-top: .85rem; padding-top: .8rem; border-top: 1px solid var(--line-hot); }
.ticket-status {
  margin: 0 0 .7rem;
  padding: .5rem .55rem;
  border-left: 3px solid var(--aqua);
  background: rgba(86,201,195,.07);
  color: var(--muted);
  font: .55rem/1.45 var(--utility);
}
.ticket-queue h3, .ticket-detail h3, .ticket-detail h4 {
  margin: 0;
  font-family: var(--display);
  letter-spacing: .025em;
}
.ticket-queue h3 { color: var(--muted); font-size: .7rem; }
.ticket-list { display: grid; gap: .35rem; margin-top: .55rem; }
.ticket-row {
  min-height: 38px;
  width: 100%;
  padding: .5rem .55rem;
  border: 1px solid var(--line);
  border-radius: 0;
  background: rgba(7,16,25,.7);
  color: var(--paper);
  cursor: pointer;
  text-align: left;
}
.ticket-row strong { display: block; font: 600 .64rem/1.3 var(--body); }
.ticket-row span {
  display: block;
  margin-top: .25rem;
  color: var(--muted);
  font: .5rem var(--utility);
  text-transform: uppercase;
}
.ticket-row:hover, .ticket-row[aria-pressed="true"] { border-color: var(--fox); }
.ticket-row[aria-pressed="true"] {
  border-left-width: 3px;
  background: rgba(255,138,61,.08);
}
.ticket-row [data-ticket-selected] {
  display: block;
  margin-top: .35rem;
  color: var(--paper);
  font: 650 .5rem var(--utility);
  letter-spacing: .05em;
  text-transform: uppercase;
}
.ticket-empty { color: var(--muted); font: .58rem/1.45 var(--utility); }
.ticket-detail {
  margin-top: .85rem;
  padding: .75rem;
  border: 1px solid var(--line-hot);
  border-top: 3px solid var(--violet);
  background: rgba(7,16,25,.78);
}
.ticket-detail header > span {
  display: block;
  margin-bottom: .25rem;
  color: var(--violet);
  font: 600 .5rem var(--utility);
  text-transform: uppercase;
}
.ticket-detail h3 { font-size: .78rem; line-height: 1.3; }
.ticket-question { margin-top: .75rem; }
.ticket-detail h4 { color: var(--muted); font-size: .62rem; }
.ticket-question p, .ticket-recommendation p {
  margin: .35rem 0 0;
  color: var(--paper);
  font-size: .65rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.ticket-draft-label {
  margin: .75rem 0 .4rem;
  color: var(--fox);
  font: 600 .52rem var(--utility);
  text-transform: uppercase;
}
.ticket-recommendation { padding: .65rem 0; border-top: 1px dotted var(--line); }
.ticket-recommendation h4 { color: var(--aqua); }
.ticket-recommendation .ticket-decision { color: var(--muted); font-family: var(--utility); font-size: .57rem; }
.ticket-recommendation .ticket-evidence,
.ticket-recommendation .ticket-policy,
.ticket-recommendation .ticket-unknown { color: var(--muted); font: .5rem/1.45 var(--utility); }
.ticket-recommendation .ticket-unknown { color: var(--fox); }
.ticket-rejection { margin-top: .65rem; }
.ticket-rejection label {
  display: block;
  margin-bottom: .3rem;
  color: var(--muted);
  font: 600 .55rem var(--utility);
  text-transform: uppercase;
}
.ticket-rejection textarea {
  width: 100%;
  min-height: 70px;
  max-height: 160px;
  padding: .5rem;
  resize: vertical;
  border: 1px solid var(--line-hot);
  border-radius: 0;
  background: var(--void);
  color: var(--paper);
  font: .6rem/1.45 var(--utility);
}
.ticket-rejection small { display: block; margin-top: .25rem; color: var(--muted); font: .48rem/1.4 var(--utility); }
.ticket-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; margin-top: .7rem; }
.ticket-actions button {
  min-height: 32px;
  padding: .4rem .5rem;
  border: 1px solid var(--line-hot);
  border-radius: 0;
  background: transparent;
  color: var(--paper);
  cursor: pointer;
  font: 650 .54rem/1.25 var(--utility);
  text-transform: uppercase;
}
.ticket-actions [data-ticket-action="approve"] { border-color: var(--aqua); }
.ticket-actions [data-ticket-action="reject"] { border-color: var(--danger); }
.ticket-actions [data-ticket-action="ask-council"] { border-color: var(--violet); }
.ticket-actions button:hover { background: rgba(86,201,195,.08); }
.milestone p { color: var(--muted); font-size: .72rem; line-height: 1.5; }
.milestone progress { width: 100%; height: 4px; accent-color: var(--fox); }

@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(86,201,195,.3); } 70% { box-shadow: 0 0 0 8px rgba(86,201,195,0); } 100% { box-shadow: 0 0 0 0 rgba(86,201,195,0); } }
@keyframes loader { 50% { transform: rotate(225deg); border-top-color: var(--aqua); } }
@keyframes orbit { to { transform: rotate(360deg); } }
@keyframes worker-route { from { transform: translateX(0); } to { transform: translateX(5px); } }

@media (max-width: 1080px) {
  .city-shell { grid-template-columns: 188px minmax(420px, 1fr) 260px; }
  .masthead { grid-template-columns: 210px 1fr auto; }
  .map-node { min-width: 104px; }
}

@media (max-width: 820px) {
  body { overflow: auto; }
  .world { min-height: 100dvh; grid-template-rows: auto 1fr; }
  .masthead { grid-template-columns: 1fr auto; min-height: 64px; }
  .system-pill { justify-self: end; }
  .mast-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .city-shell { display: block; }
  .city-index { display: none; }
  .map-stage { height: 72dvh; min-height: 520px; }
  .operations-rail { border: 0; border-top: 1px solid var(--line); overflow: visible; }
  .map-toolbar { grid-template-columns: minmax(0, 1fr) auto; }
  .breadcrumbs { display: none; }
  .search-field { min-width: 0; }
  .keyboard-note { display: none; }
}

@media (max-width: 520px) {
  .masthead { padding: .7rem .8rem; }
  .brand small { display: none; }
  .system-pill small { display: none; }
  .mast-actions .read-only { display: none; }
  .map-toolbar { gap: .5rem; padding: .55rem; }
  .search-field input { min-width: 0; padding-inline: .5rem; }
  .map-controls button:first-child { display: none; }
  .map-node { min-width: 94px; max-width: 120px; padding: .4rem; }
  .map-node-skyline { display: none; }
  .map-node { grid-template-columns: 1fr; }
  .map-legend { left: 8px; right: auto; flex-wrap: wrap; }
  .council-core { width: 112px; height: 112px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}

@media (forced-colors: active) {
  .map-node, .map-controls button, .mast-actions a, .read-only,
  .council-field select, .council-field textarea, .council-actions button,
  .sealed-transcript, .ticket-row, .ticket-detail, .ticket-rejection textarea,
  .ticket-actions button { border: 1px solid ButtonText; }
  .map-node[aria-pressed="true"] { outline: 3px solid Highlight; }
  .ticket-row[aria-pressed="true"] { outline: 3px solid Highlight; }
  .worker-unit { border: 1px solid ButtonText; }
}
