/* NETWAR — world.html styles, part 4 of 9: Nomadic Frontier, backdoor contracts, TARGET / SITREP sections.
   Moved out of world.html's <style> block unchanged (2026-10-03); the files load in this
   order, which is the old cascade order — a later file still overrides an earlier one. */
/* Nomadic Frontier — amber matches #map-confirm-dialog's warning palette and
   #sh-back-map's "deliberate navigation, not a punishment" amber convention;
   same inline sizing as #btn-worm-purge so it reads as a SITREP action button. */
#inspect #btn-abandon-sector { background: #1a1208; color: #f5a337; border: 1px solid #6a4820;
  font: inherit; font-size: 9px; padding: 2px 6px; cursor: pointer; margin-left: 4px; }
#inspect #btn-abandon-sector:hover { background: #261808; border-color: #ffc866; color: #ffc866; }
/* Backdoor contracts — AGREE reads as a bounty payout (gold). The publish
   composer is a stacked contract form, not a sitrep row. */
#inspect #btn-backdoor-agree { background: #241c08; color: #f5c842; border: 1px solid #6a5a20;
  font: inherit; font-size: 9px; padding: 2px 6px; cursor: pointer; margin-top: 4px; }
#inspect #btn-backdoor-agree:hover:not(:disabled) { background: #322608; border-color: #ffe066; color: #ffe066; }
#inspect #btn-backdoor-agree:disabled { opacity: 0.5; cursor: default; }
#inspect .bd-post {
  border-color: rgba(245, 200, 66, 0.35);
}
#inspect .bd-post .sitrep-section-title.bd-post-title,
#inspect .bd-post-title {
  background: rgba(245, 200, 66, 0.12);
  border-bottom-color: rgba(245, 200, 66, 0.28);
  color: #ffe9a8;
}
#inspect .bd-post-title::before { background: #f5c842; }
#inspect .bd-post-lead {
  margin: 10px 0 8px;
  font-size: 12px;
  line-height: 1.4;
  color: #e8fbff;
  font-style: normal;
}
#inspect .bd-post-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin: 0 0 10px;
}
#inspect .bd-post-split div {
  padding: 7px 8px;
  border: 1px solid rgba(0, 255, 245, 0.16);
  background: #041016;
}
#inspect .bd-post-split span {
  display: block;
  font-size: 8px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8fb3bd;
  margin-bottom: 3px;
}
#inspect .bd-post-split strong {
  font-size: 12px;
  font-weight: 700;
  color: #e8fbff;
}
#inspect .bd-post-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin: 0 0 6px;
}
#inspect .bd-post-field > span {
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #ffe9a8;
}
#inspect .bd-post-box {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(245, 200, 66, 0.55);
  background: #050804;
  min-height: 38px;
  padding: 0 10px;
}
#inspect .bd-post-box:focus-within {
  border-color: #f5c842;
}
#inspect .bd-cli {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  min-height: 38px;
  font: 700 16px/1 Consolas, 'Courier New', ui-monospace, monospace;
  color: #f5c842;
}
#inspect .bd-cli-prompt {
  flex: 0 0 auto;
  margin-right: 6px;
  color: #f5c842;
}
#inspect .bd-cli-echo {
  white-space: pre;
  color: #fff4c4;
}
#inspect .bd-cli-block {
  width: 0.72em;
  height: 1em;
  margin-left: 1px;
  flex: 0 0 auto;
  background: #f5c842;
  animation: bd-cli-blink 1.05s steps(1, end) infinite;
}
@keyframes bd-cli-blink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  #inspect .bd-cli-block { animation: none; }
}
#inspect .bd-post #backdoor-stake-input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  outline: none;
  background: transparent;
  color: transparent;
  caret-color: transparent;
  font: inherit;
}
#inspect .bd-post-box abbr {
  flex: 0 0 auto;
  text-decoration: none;
  color: #f5c842;
  font-size: 11px;
  letter-spacing: 0.12em;
  font-weight: 700;
}
#inspect .bd-post-min {
  margin: 0 0 10px;
  font-size: 10px;
  line-height: 1.4;
  color: #8fb3bd;
  font-style: normal;
}
#inspect .bd-post #btn-backdoor-create {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin: 0;
  min-height: 36px;
  padding: 0 10px;
  border: 1px solid #f5c842;
  background: #f5c842;
  color: #1a1406;
  font: 700 11px/1 Consolas, 'Courier New', ui-monospace, monospace;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
}
#inspect .bd-post #btn-backdoor-create:hover {
  background: #ffe066;
  border-color: #ffe066;
  color: #1a1406;
}
@media (max-width: 360px) {
  #inspect .bd-post-split { grid-template-columns: 1fr; }
}
/* ============================================================
   Round 15 — TARGET panel (#inspect) full reskin, 1:1 to the reference's
   "RIGHT PANEL — TARGET LOCK" (Netwar HUD v2 neon.dc.html), per user
   request. Real content (REGISTRY/MISSION COSTS/TACTICAL INTEL/GARRISON/
   ENEMY DECK/FORTIFICATION/NOTES/BACKDOOR CONTRACT, the NEW and DECISION
   tiers) is built entirely in inspectHex() (world.js) and none of that
   branching logic changed — this restyles the shared classes every one
   of those sections already renders into (.sitrep-section/-section-title/
   -row), which is what makes section types the reference doesn't happen
   to show an example of (GARRISON, ENEMY DECK, FORTIFICATION, NOTES,
   BACKDOOR, the DECISION tier's non-capture rows) come out visually
   homogeneous with the ones it does, per the user's own framing ("ако
   има неща които не са предвидени нека да са хомогенни"). Header
   (amber) and OWNER (its own row with a spinning ring icon, no new SCAN
   button — explicit call) match the reference exactly; the CAPTURE
   verdict in the DECISION tier gets the reference's own alert-banner
   treatment since that's the literal scenario its screenshot shows. */
#inspect .x {
  float: none; margin-left: auto; flex-shrink: 0;
  width: 20px; height: 20px; display: flex; align-items: center; justify-content: center;
  font-size: 11px; color: rgba(255,233,196,0.8);
  border: 1px solid rgba(255,176,31,0.35); cursor: pointer;
  transition: all 0.15s ease;
}
#inspect .x:hover { background: #ffb01f; color: #1a1206; transform: rotate(90deg); }
#inspect .sitrep-head {
  display: flex; align-items: center; gap: 8px; position: relative;
  height: 40px; padding: 0 10px 0 18px;
  background: repeating-linear-gradient(135deg, rgba(255,176,31,0.16) 0 8px, rgba(255,176,31,0.05) 8px 16px);
  border-bottom: 1px solid rgba(255,176,31,0.35);
}
#inspect .sitrep-title {
  color: #ffe9c4; font-weight: 700; font-size: 13px; letter-spacing: 0.2em;
  text-shadow: none; flex-shrink: 0;
}
#inspect .sitrep-subtitle {
  font-size: 10px; letter-spacing: 0.04em; color: #ffd970;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0;
}
/* OWNER — moved out of the header into its own dedicated row, matching the
   reference's spinning-ring OWNER block; no SCAN·FREE button (explicit call:
   "1:1 като дизайн и визия, но без нов бутон скан" — real SCAN already
   exists as a command-bar action, no duplicate control added here). */
#inspect .sitrep-owner-row {
  display: flex; align-items: center; gap: 10px; padding: 9px 12px;
  background: rgba(8,24,33,0.85); border-bottom: 1px solid rgba(0,255,245,0.16);
}
#inspect .sitrep-owner-ring {
  width: 22px; height: 22px; flex-shrink: 0; border-radius: 50%;
  border: 1px dashed rgba(0,255,245,0.5); animation: sitrep-ring-spin 6s linear infinite;
}
@keyframes sitrep-ring-spin { to { transform: rotate(360deg); } }
#inspect .sitrep-owner-info { min-width: 0; }
#inspect .sitrep-owner-k { font-size: 8px; letter-spacing: 0.2em; color: #8fb3bd; }
#inspect .sitrep-owner-v {
  font-family: 'Chakra Petch', var(--chrome-display); font-weight: 600; font-size: 12px;
  letter-spacing: 0.06em; color: #dff0f5; text-shadow: none;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block;
}
#inspect .sitrep-owner-v.owner { color: #37f5a3; }
#inspect .sitrep-owner-v.owner.enemy { color: #f55858; }
#inspect .sitrep-owner-v.owner.state { color: #b8863a; }
#inspect .sitrep-owner-v.owner.npc { color: #f5a337; }
#inspect .sitrep-owner-v.owner.unknown { color: #8a7fb0; }
/* Alert banner — the reference's own "CAPTURE BLOCKED · NOT ADJACENT TO
   FRONTIER · 54 HEX AWAY" box, reused for every real CAPTURE-blocked/ready
   reason this game has (see inspectHex()'s MISSION COSTS block) so the
   panel's single headline verdict always reads the same way. */
#inspect .sitrep-alert-banner {
  position: relative; display: flex; align-items: center; gap: 10px;
  margin: 8px 10px 0; padding: 9px 11px; overflow: hidden;
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
}
#inspect .sitrep-alert-banner.lose {
  background: linear-gradient(120deg, rgba(255,47,174,0.22), rgba(60,10,35,0.5));
  border: 1px solid rgba(255,47,174,0.5);
}
#inspect .sitrep-alert-banner.win {
  background: linear-gradient(120deg, rgba(43,255,142,0.2), rgba(8,30,20,0.5));
  border: 1px solid rgba(43,255,142,0.5);
}
#inspect .sitrep-alert-icon {
  width: 20px; height: 20px; flex-shrink: 0; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 12px;
}
#inspect .sitrep-alert-banner.lose .sitrep-alert-icon { background: #ff2fae; color: #1c0512; }
#inspect .sitrep-alert-banner.win .sitrep-alert-icon { background: #2bff8e; color: #04180f; }
#inspect .sitrep-alert-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
#inspect .sitrep-alert-title {
  font-family: 'Chakra Petch', var(--chrome-display); font-weight: 700; font-size: 12px; letter-spacing: 0.1em;
}
#inspect .sitrep-alert-banner.lose .sitrep-alert-title { color: #ffe3f4; }
#inspect .sitrep-alert-banner.win .sitrep-alert-title { color: #d8ffe9; }
#inspect .sitrep-alert-sub { font-size: 9px; letter-spacing: 0.04em; color: rgba(255,217,236,0.75); }
#inspect .sitrep-alert-banner.win .sitrep-alert-sub { color: rgba(216,255,233,0.75); }
#inspect .sitrep-alert-banner.lose::after {
  content: ''; position: absolute; top: 0; bottom: 0; width: 50px; left: -60px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.14), transparent);
  animation: sitrep-alert-sweep 3.4s linear infinite;
}
@keyframes sitrep-alert-sweep { 0% { left: -60px; } 100% { left: 120%; } }
/* --- SITREP tiers: NEW (small) / DECISION (the only loud tier) / REFERENCE (dim) --- */
#inspect .sitrep-tier-title { font-size: 9px; font-weight: 700; letter-spacing: 0.18em;
  margin-bottom: 5px; text-transform: uppercase; }
#inspect .sitrep-tier-new { padding: 6px 10px; border-bottom: 1px solid rgba(0,255,245,0.12);
  background: rgba(245,163,55,0.05); }
#inspect .sitrep-tier-title.new { color: #f5a337; }
#inspect .sitrep-new-row { font-size: 9px; line-height: 1.5; color: var(--chrome-secondary); }
#inspect .sitrep-new-row.win { color: var(--chrome-ok); }
#inspect .sitrep-new-row.lose { color: var(--chrome-alert); }
#inspect .sitrep-new-ago { color: var(--chrome-muted); font-size: 8px; margin-right: 3px; }
#inspect .sitrep-tier-decide { padding: 8px 10px; border-bottom: 1px solid rgba(0,255,245,0.12);
  border-left: 3px solid #ff3860; background: rgba(255,56,96,0.06); }
#inspect .sitrep-tier-title.decide { color: #ff3860;
  text-shadow: 0 0 8px rgba(255,56,96,0.4); }
#inspect .sitrep-tier-decide .sitrep-row { font-size: 10px; }
#inspect .sitrep-ref-divider { padding: 4px 10px; font-size: 8px; font-weight: 700;
  letter-spacing: 0.22em; color: var(--chrome-muted); background: rgba(6,20,28,0.6);
  border-bottom: 1px solid rgba(0,255,245,0.12); }
/* IN SHORT — plain lines above the decision. */
#inspect .sitrep-brief { display: grid; gap: 5px; padding: 8px 12px; border-bottom: 1px solid rgba(0,255,245,0.12); }
#inspect .sitrep-brief .sitrep-tag { justify-self: start; }
#inspect .sitrep-brief-line { font-size: 11.5px; line-height: 1.35; color: #cfe9ef; }
#inspect .sitrep-brief-line .win { color: #3dff9a; } #inspect .sitrep-brief-line .lose { color: #ff6b8a; }
#inspect .sitrep-bd-open { display: block; width: 100%; margin-top: 8px; padding: 6px 9px; text-align: left; cursor: pointer;
  font: 700 10px var(--chrome-font); letter-spacing: 0.12em; color: #c9a7ff; background: rgba(140,90,255,0.08);
  border: 1px dashed rgba(170,120,255,0.45); }
#inspect .sitrep-bd-open span { font-weight: 400; letter-spacing: 0.04em; color: var(--chrome-muted); }
#inspect .sitrep-bd-open:hover { background: rgba(140,90,255,0.16); }
#inspect .sitrep-ref { opacity: 0.78; }
#inspect .sitrep-ref:hover { opacity: 1; }
/* Sections — REGISTRY / MISSION COSTS / TACTICAL INTEL / GARRISON / ENEMY
   DECK / FORTIFICATION / NOTES all render through .sitrep-section +
   .sitrep-section-title, so this one "block" pattern (bordered container,
   cyan head-strip with a colored tab, corner notch) is what the reference
   calls its own REGISTRY/MISSION COSTS/TACTICAL INTEL boxes — applying it
   here once makes every section type read the same, reference-shown or not. */
#inspect .sitrep-section {
  margin: 8px 10px; padding: 8px 11px 9px; border: 1px solid rgba(0,255,245,0.14);
  border-top: 1px solid rgba(0,255,245,0.14); background: rgba(6,20,28,0.75);
  clip-path: polygon(0 0, calc(100% - 9px) 0, 100% 9px, 100% 100%, 0 100%);
}
#inspect .sitrep-ref .sitrep-section:first-child { border-top: 1px solid rgba(0,255,245,0.14); }
#inspect .sitrep-ref .sitrep-section:nth-child(even),
#inspect .sitrep-ref .sitrep-section:nth-child(odd) { background: rgba(6,20,28,0.75); }
#inspect .sitrep-section:last-child { border-bottom: 1px solid rgba(0,255,245,0.14); }
/* Round 16 — these "block" boxes (REGISTRY/MISSION COSTS/TACTICAL INTEL/
   GARRISON/etc.) are real bordered boxes but had no hover at all, unlike
   every other box in the game since Round 12's "every box in the game"
   pass. Same treatment as #hud .hud-stat-box (Round 13): a real
   border/background highlight plus the shared glitch family — slide,
   since these are multi-row cards like .event-card, not small chips. */
#inspect .sitrep-section {
  cursor: default; transition: border-color 0.15s ease, background 0.15s ease;
}
#inspect .sitrep-section:hover {
  border-color: rgba(0,255,245,0.4); background: rgba(9,28,38,0.85);
  animation: glitch-slide-hover 0.4s steps(2) forwards;
}
#inspect .sitrep-section-title {
  position: relative; margin: -8px -11px 8px; padding: 8px 11px 7px 16px;
  font-size: 10px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase;
  color: #cfe8ee; background: rgba(0,255,245,0.07); border-bottom: 1px solid rgba(0,255,245,0.12);
}
#inspect .sitrep-section-title::before {
  content: ''; position: absolute; left: 5px; top: 50%; transform: translateY(-50%);
  width: 5px; height: 12px; background: var(--chrome-cyan); box-shadow: none;
}
/* decide-sub headings sit inside the DECISION tier — same block shape, red accent */
#inspect .sitrep-section-title.decide-sub {
  margin-top: 8px; background: rgba(255,56,96,0.1); border-bottom-color: rgba(255,56,96,0.25);
}
#inspect .sitrep-section-title.decide-sub::before { background: #ff3860; }
#inspect .sitrep-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 5px; }
#inspect .sitrep-tag { font-size: 9px; padding: 2px 6px; border-radius: 2px;
  border: 1px solid rgba(0,255,245,0.2); background: rgba(6,20,28,0.6); color: var(--chrome-secondary); letter-spacing: 0.4px; }
#inspect .sitrep-tag.type { border-color: #37d5f5; color: #37d5f5; }
#inspect .sitrep-tag.pos { border-color: rgba(168,198,207,0.3); color: var(--chrome-muted); }
#inspect .sitrep-tag.owner { border-color: #37f5a3; color: #37f5a3; }
#inspect .sitrep-tag.owner.enemy { border-color: #f55858; color: #f55858; }
#inspect .sitrep-tag.owner.state { border-color: #b8863a; color: #b8863a; }
#inspect .sitrep-tag.owner.npc { border-color: #f5a337; color: #f5a337; }
#inspect .sitrep-tag.owner.unknown { border-color: #6a5a8a; color: #8a7fb0; }
#inspect .sitrep-tag.ghost { border-color: rgba(168,198,207,0.3); color: var(--chrome-muted); font-style: italic; }
#inspect .sitrep-row {
  margin: 0; padding: 3px 0; font-size: 9px; line-height: 1.5;
  transition: background 0.14s ease, padding-left 0.14s ease;
}
#inspect .sitrep-row:hover { background: rgba(0,255,245,0.06); padding-left: 4px; }
#inspect .sitrep-event-storm { margin-top: 6px; padding: 5px 7px; border-radius: 2px;
  border: 1px solid #f55858; background: rgba(245,88,88,0.08); color: #ffb0b0;
  font-size: 9px; font-weight: bold; letter-spacing: 0.3px;
  text-decoration: underline; text-underline-offset: 2px; }
#inspect .sitrep-event-leak { margin-top: 6px; padding: 5px 7px; border-radius: 2px;
  border: 1px solid #f5e358; background: rgba(245,227,88,0.06); color: #f5e358; font-size: 9px; }
#inspect .sitrep-event-virus { margin-top: 6px; padding: 5px 7px; border-radius: 2px;
  border: 1px solid #a855f7; background: rgba(168,85,247,0.08); color: #d0a8ff;
  font-size: 9px; font-weight: bold; letter-spacing: 0.3px;
  text-decoration: underline; text-underline-offset: 2px; }
#inspect .sitrep-cost-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 6px; }
#inspect .sitrep-cost-box { padding: 6px 7px; border-radius: 3px; font-size: 9px; }
#inspect .sitrep-cost-box.capture { border: 1px solid #37f5a3;
  box-shadow: 0 0 8px rgba(55,245,163,0.15); background: rgba(55,245,163,0.05); }
#inspect .sitrep-cost-box.ram { border: 1px solid #37d5f5;
  box-shadow: 0 0 8px rgba(55,213,245,0.15); background: rgba(55,213,245,0.05); }
#inspect .sitrep-cost-label { font-size: 8px; letter-spacing: 1px; color: var(--chrome-muted); margin-bottom: 3px; }
#inspect .sitrep-cost-value { font-size: 12px; font-weight: bold; text-shadow: 0 0 6px rgba(55,245,163,0.2); }
#inspect .sitrep-cost-box.capture .sitrep-cost-value { color: #37f5a3; }
#inspect .sitrep-cost-box.ram .sitrep-cost-value { color: #37d5f5; }
/* Round 16 — small boxes, same "every box gets hover" treatment as the
   .sitrep-section blocks above, just the flat/chip-sized variant. */
#inspect .sitrep-cost-box { cursor: default; transition: filter 0.15s ease; }
#inspect .sitrep-cost-box:hover { filter: brightness(1.25); animation: glitch-flat-hover 0.32s steps(2) forwards; }
#inspect .sitrep-cost-formula { font-size: 9px; color: var(--chrome-secondary); margin-top: 2px; }
#inspect .sitrep-raid-line { font-size: 10px; color: var(--chrome-secondary); margin-top: 4px; }
#inspect .sitrep-intel-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; margin-bottom: 8px; }
#inspect .sitrep-stat { text-align: center; padding: 4px 3px; border: 1px solid rgba(0,255,245,0.16);
  border-radius: 2px; background: rgba(6,20,28,0.6);
  cursor: default; transition: border-color 0.15s ease, background 0.15s ease; }
#inspect .sitrep-stat:hover {
  border-color: rgba(0,255,245,0.4); background: rgba(0,255,245,0.1);
  animation: glitch-flat-hover 0.32s steps(2) forwards;
}
#inspect .sitrep-stat-label { font-size: 8px; color: var(--chrome-muted); letter-spacing: 0.5px; }
#inspect .sitrep-stat-val { font-size: 11px; font-weight: bold; color: var(--chrome-text); margin-top: 2px; }
#inspect .sitrep-goals { display: flex; gap: 8px; flex-wrap: wrap; align-items: baseline; margin-top: 4px; }
#inspect .sitrep-breach-goal { font-size: 14px; font-weight: bold; color: #37f5a3;
  letter-spacing: 0.5px; text-shadow: 0 0 10px rgba(55,245,163,0.35); }
#inspect .sitrep-trace-goal { font-size: 14px; font-weight: bold; color: #f5a337;
  letter-spacing: 0.5px; text-shadow: 0 0 10px rgba(245,163,55,0.35); }
#inspect .sitrep-goal-label { font-size: 9px; color: var(--chrome-muted); letter-spacing: 0.8px; display: block; }
#inspect .sitrep-enemy-deck { border: 1px solid rgba(245,88,88,0.4); border-radius: 3px;
  background: rgba(245,88,88,0.04); padding: 6px 7px; }
#inspect .sitrep-ice-row { display: flex; gap: 6px; align-items: flex-start;
  font-size: 9px; margin-top: 4px; line-height: 1.4; }
#inspect .sitrep-ice-row:first-child { margin-top: 0; }
#inspect .sitrep-ice-icon { color: #f55858; font-size: 8px; flex-shrink: 0; margin-top: 1px; }
#inspect .sitrep-ice-name { color: #ffb0b0; font-weight: bold; }
#inspect .sitrep-ice-desc { color: #9a8fb8; }
#inspect .sitrep-hint { font-size: 10px; color: var(--chrome-secondary); font-style: italic; }
/* W3 — what a fort node actually buys, stated before you pay for it */
#inspect .sitrep-fort-effect { font-size: 10px; color: #cfc7e8; line-height: 1.5;
  margin: 4px 0 2px; padding: 4px 6px; border-left: 2px solid #37f5a3;
  background: rgba(55, 245, 163, 0.06); }
#inspect .sitrep-notes { font-size: 10px; color: var(--chrome-muted); line-height: 1.55; }
#inspect .sitrep-shallow-banner { font-size: 8px; color: #37d5f5; letter-spacing: 1px;
  margin-bottom: 6px; font-weight: bold; }
/* Readability pass (playtest 2026-09-29: "the text reads like a wiki page"). A row with a
   label is a two-column line — label left in cyan, value right in bright text — so the eye
   runs down the labels; numbers and verdicts keep their green/red. Nothing is dimmed. */
#inspect .sitrep-ref { opacity: 1; }
#inspect .sitrep-section .sitrep-row { font-size: 10.5px; line-height: 1.45; color: #d6ecf1; }
#inspect .sitrep-section .sitrep-row:has(> .k:first-child) { padding-left: 76px; text-indent: -76px; }
#inspect .sitrep-section .sitrep-row:has(> .k:first-child):hover { padding-left: 76px; }
#inspect .sitrep-section .sitrep-row > .k:first-child { display: inline-block; width: 70px; margin-right: 6px; text-indent: 0;
  vertical-align: baseline; color: #37d5f5; font-size: 9px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
#inspect .sitrep-section .sitrep-row:has(> .k:first-child) > :not(.k) { text-indent: 0; }
#inspect .sitrep-section .sitrep-row + .sitrep-row { border-top: 1px solid rgba(0,255,245,0.07); }
#inspect .sitrep-section .sitrep-row .win { color: #3dff9a; font-weight: 600; }
#inspect .sitrep-section .sitrep-row .lose { color: #ff7a93; font-weight: 600; }
#inspect .sitrep-section .sitrep-hint { font-size: 10.5px; font-style: normal; color: #9fc3cc; line-height: 1.45;
  margin-top: 6px; padding: 4px 8px; border-left: 2px solid rgba(55,213,245,0.5); background: rgba(55,213,245,0.05); }
#inspect .sitrep-section .sitrep-shallow-banner { font-size: 9px; }
#inspect .sitrep-section .sitrep-raid-line { font-size: 10.5px; color: #d6ecf1; }
#inspect .sitrep-section .sitrep-raid-line .k { color: #ff6ad5; font-weight: 700; letter-spacing: 0.1em; margin-right: 6px; }
#inspect .sitrep-section .sitrep-cost-formula { font-size: 10px; }
#inspect .nowrap { white-space: nowrap; }
#inspect .sitrep-waves { font-size: 14px; font-weight: bold; color: #37d5f5; }
#inspect .sitrep-goals > div { min-width: 70px; }
/* A hex reference anywhere ([q:r]) — click to fly there (linkHexRefs in world.js). */
.hex-link { color: #37d5f5; cursor: pointer; text-decoration: underline dotted; text-underline-offset: 2px; white-space: nowrap; }
.hex-link:hover, .hex-link:focus-visible { color: #fff; text-shadow: 0 0 6px rgba(55,213,245,0.8); outline: none; }
#inspect .sitrep-duel-active { margin-top: 6px; padding: 4px 6px; border: 1px solid #f55858;
  color: #f55858; font-size: 9px; border-radius: 2px; }
#feed-wrap {
  border-top: 1px solid rgba(0,255,245,0.22); border-left: none;
  flex: 0 0 auto; min-width: 0; width: 100%;
  background: rgba(3,11,18,0.92);
  display: flex; flex-direction: column;
  margin: 0; padding: 0;
}
#feed-wrap .feed-head {
  display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
  font-size: 8px; letter-spacing: 0.18em; color: var(--chrome-muted);
  padding: 3px 4px 2px; flex-shrink: 0;
}
#feed-wrap .feed-head-title {
  flex-shrink: 0; cursor: help;
}
#feed-wrap .feed-filters {
  display: flex; gap: 3px; flex-wrap: wrap; flex: 1; min-width: 0;
}
#feed-wrap .feed-filter {
  font: 8px var(--chrome-font); letter-spacing: 0.12em; text-transform: uppercase;
  padding: 2px 7px; cursor: pointer; flex-shrink: 0;
  color: var(--chrome-muted); border: 1px solid #2a1a48; background: #0c0814;
}
#feed-wrap .feed-filter:hover {
  color: var(--chrome-cyan); border-color: var(--chrome-cyan);
}
#feed-expand {
  font: 8px var(--chrome-font); letter-spacing: 0.14em; text-transform: uppercase;
  padding: 3px 10px; cursor: pointer; flex-shrink: 0; font-weight: 700;
  color: #041018; border: 1px solid var(--chrome-cyan); background: var(--chrome-cyan);
  box-shadow: 0 0 12px rgba(55, 213, 245, 0.55);
}
#feed-expand:hover {
  color: #041018; border-color: #9ef4ff; background: #9ef4ff;
  box-shadow: 0 0 16px rgba(55, 213, 245, 0.8);
}
#panel.feed-full #feed-expand {
  color: var(--chrome-cyan); background: rgba(8, 22, 36, 0.95);
  box-shadow: 0 0 12px rgba(55, 213, 245, 0.35);
}
#panel.feed-full #feed-expand:hover {
  color: #9ef4ff; border-color: #9ef4ff; background: rgba(55, 213, 245, 0.16);
}
#feed-wrap .feed-filter.on[data-feed-filter="all"] {
  color: var(--chrome-cyan); border-color: var(--chrome-cyan);
  background: rgba(55, 213, 245, 0.08);
}
#feed-wrap .feed-filter.on[data-feed-filter="init"] {
  color: #9a90c0; border-color: #6a6088; background: rgba(106, 96, 136, 0.16);
}
#feed-wrap .feed-filter.on[data-feed-filter="ok"] {
  color: var(--chrome-ok); border-color: var(--chrome-ok);
  background: rgba(55, 245, 163, 0.08);
}
#feed-wrap .feed-filter.on[data-feed-filter="warn"] {
  color: var(--chrome-warn); border-color: var(--chrome-warn);
  background: rgba(245, 163, 55, 0.08);
}
#feed-wrap .feed-filter.on[data-feed-filter="err"] {
  color: var(--chrome-alert); border-color: var(--chrome-alert);
  background: rgba(245, 88, 88, 0.08);
}
#feed-wrap .feed-filter.on[data-feed-filter="battle"] {
  color: var(--chrome-cyan); border-color: var(--chrome-cyan);
  background: rgba(55, 213, 245, 0.08);
}
#feed { overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain;
        user-select: text; -webkit-user-select: text;
        padding: 1px 4px 3px; font-size: 11px; line-height: 1.55;
        font-family: var(--chrome-font); min-width: 0; color: var(--chrome-secondary); }
