/* Scoped presentation for the evidence brief, stored maritime report, and FMC guides. */
.fw-investigation-page,
.fw-maritime-page {
  --fw-bg: #08131d;
  --fw-panel: #0d1c28;
  --fw-panel-2: #102534;
  --fw-line: #284354;
  --fw-line-strong: #345463;
  --fw-text: #e7f2f0;
  --fw-muted: #91a8ad;
  --fw-teal: #45d8df;
  --fw-amber: #f4b866;
  min-height: 100%;
  color: var(--fw-text);
  background: var(--fw-bg);
}

.fw-investigation-page a,
.fw-maritime-page a {
  color: var(--fw-teal);
  text-underline-offset: 3px;
}

.fw-page-shell {
  width: min(100% - 40px, 1580px);
  margin: 0 auto;
  padding: 18px 0 58px;
}

.fw-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--fw-muted);
  font: 11px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace;
}

.fw-breadcrumbs a {
  color: var(--fw-teal);
  text-decoration: none;
}

.fw-eyebrow {
  margin: 0 0 10px;
  color: var(--fw-teal);
  font: 750 9px/1.3 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.fw-investigation-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 20px;
  margin-top: 18px;
  border-bottom: 1px solid var(--fw-line);
  padding: 0 0 18px;
}

.fw-investigation-page .fw-investigation-header h1 {
  font-size: clamp(26px, 2.2vw, 34px);
  line-height: 1.12;
}

.fw-investigation-context { width: 250px; max-width: 100%; font-size: 12px; }
.fw-investigation-context > a { display: inline-block; margin-top: 8px; }
.fw-investigation-context [data-port-photo-frame="16:9"] { height: auto !important; aspect-ratio: 16 / 9 !important; }
.fw-investigation-context [data-port-photo-credits] { font-size: 10px !important; }
@media (max-width: 800px) {
  .fw-investigation-context { width: 100%; }
  .fw-investigation-context [data-port-photo-frame="16:9"] { height: auto !important; aspect-ratio: 16 / 9 !important; }
}

.fw-investigation-header h1,
.fw-maritime-header h1 {
  max-width: 900px;
  margin: 0;
  color: var(--fw-text);
  font: 650 clamp(28px, 4vw, 48px)/1.03 var(--sans);
  letter-spacing: -.04em;
}

.fw-investigation-lede,
.fw-maritime-lede {
  max-width: 720px;
  margin: 12px 0 0;
  color: var(--fw-muted);
  font-size: 14px;
  line-height: 1.5;
}

.fw-context-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 18px 0 0;
}

.fw-context-list span {
  border: 1px solid var(--fw-line-strong);
  padding: 7px 10px;
  color: var(--fw-muted);
  background: rgba(16, 37, 52, .72);
  font: 11px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace;
}

.fw-context-list span:first-child {
  border-color: rgba(69, 216, 223, .68);
  color: var(--fw-teal);
}

.fw-investigation-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.fw-investigation-actions .button {
  min-height: 36px;
  padding: 9px 13px;
  color: #06131c;
  background: var(--fw-teal);
  font-size: 11px;
  font-weight: 750;
  text-decoration: none;
}

.fw-section-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0 22px;
  border-bottom: 1px solid var(--fw-line);
  padding: 0 0 0 1px;
}

.fw-section-nav a {
  padding: 12px 0 10px;
  color: var(--fw-muted);
  font-size: 11px;
  text-decoration: none;
}

.fw-section-nav a:hover,
.fw-section-nav a:focus-visible {
  color: var(--fw-text);
}

.fw-investigation-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, .95fr);
  gap: 10px;
  margin-top: 14px;
}

.fw-investigation-column,
.fw-investigation-evidence,
.fw-investigation-next {
  min-width: 0;
  border: 1px solid var(--fw-line);
  background: var(--fw-panel);
}

.fw-investigation-column.is-unknown {
  border-color: #66532d;
}

.fw-column-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--fw-line);
  padding: 15px 15px 13px;
}

.fw-column-heading h2,
.fw-investigation-evidence h2,
.fw-investigation-next h2 {
  margin: 0;
  color: var(--fw-text);
  font: 600 18px/1.2 var(--sans);
  letter-spacing: -.02em;
}

.fw-column-heading p {
  margin: 4px 0 0;
  color: var(--fw-muted);
  font-size: 11px;
  line-height: 1.35;
}

.fw-column-count {
  flex: none;
  color: var(--fw-teal);
  font: 11px ui-monospace, SFMono-Regular, Menlo, monospace;
}

.is-unknown .fw-column-count,
.is-unknown .fw-item-number {
  color: var(--fw-amber);
}

.fw-investigation-list,
.fw-evidence-list,
.fw-next-list {
  margin: 0;
  padding: 9px;
  list-style: none;
}

.fw-investigation-list li,
.fw-next-list li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  border: 1px solid var(--fw-line);
  padding: 12px;
  color: var(--fw-muted);
  font-size: 14px;
  line-height: 1.45;
}

.fw-investigation-list li + li,
.fw-next-list li + li {
  margin-top: 7px;
}

.fw-investigation-list li:hover,
.fw-next-list li:hover {
  border-color: var(--fw-line-strong);
  background: rgba(16, 37, 52, .58);
}

.fw-item-number {
  color: var(--fw-teal);
  font: 11px/1.3 ui-monospace, SFMono-Regular, Menlo, monospace;
}

.fw-investigation-evidence,
.fw-investigation-next {
  margin-top: 14px;
}

.fw-section-heading {
  border-bottom: 1px solid var(--fw-line);
  padding: 15px 16px 13px;
}

.fw-section-heading p {
  margin: 5px 0 0;
  color: var(--fw-muted);
  font-size: 11px;
}

.fw-evidence-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: 1px;
  background: var(--fw-panel);
}

.fw-evidence-list li {
  min-width: 0;
  padding: 15px;
  background: var(--fw-panel);
}

.fw-evidence-source {
  display: block;
  color: var(--fw-teal);
  font: 750 9px/1.3 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .11em;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}

.fw-evidence-list strong {
  display: block;
  margin-top: 12px;
  color: var(--fw-text);
  font-size: 13px;
  line-height: 1.3;
}

.fw-evidence-list p {
  min-height: 38px;
  margin: 7px 0 12px;
  color: var(--fw-muted);
  font-size: 12px;
  line-height: 1.45;
}

.fw-evidence-date {
  display: block;
  margin-bottom: 12px;
  color: var(--fw-muted);
  font: 10px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace;
  overflow-wrap: anywhere;
}

.fw-evidence-list a {
  font-size: 11px;
}

.fw-next-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--fw-line);
}

.fw-next-list li {
  border: 0;
  min-height: 74px;
  background: var(--fw-panel);
}

.fw-maritime-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .6fr);
  align-items: end;
  gap: 26px;
  margin-top: 26px;
  border-bottom: 1px solid var(--fw-line);
  padding-bottom: 22px;
}

.fw-maritime-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  border: 1px solid var(--fw-line);
  background: var(--fw-line);
}

.fw-maritime-facts div {
  min-width: 0;
  padding: 11px 12px;
  background: var(--fw-panel);
}

.fw-maritime-facts dt {
  color: var(--fw-muted);
  font: 750 9px/1.3 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .1em;
}

.fw-maritime-facts dd {
  margin: 5px 0 0;
  color: var(--fw-text);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.fw-maritime-query {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 1.1fr);
  gap: 20px;
  align-items: end;
  margin-top: 14px;
  border: 1px solid var(--fw-line);
  padding: 15px;
  background: var(--fw-panel);
}

.fw-maritime-query h2 {
  margin: 0;
  color: var(--fw-text);
  font-size: 18px;
}

.fw-maritime-query p:not(.fw-eyebrow) {
  margin: 7px 0 0;
  color: var(--fw-muted);
  font-size: 12px;
  line-height: 1.45;
}

.fw-maritime-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
  gap: 9px;
  align-items: end;
}

.fw-maritime-form label {
  display: grid;
  gap: 5px;
  color: var(--fw-muted);
  font-size: 10px;
}

.fw-maritime-form input {
  min-width: 0;
  border: 1px solid var(--fw-line-strong);
  padding: 9px 10px;
  color: var(--fw-text);
  background: #0a1722;
  font: 12px ui-monospace, SFMono-Regular, Menlo, monospace;
}

.fw-maritime-form button {
  min-height: 37px;
  border: 0;
  padding: 0 13px;
  color: #06131c;
  background: var(--fw-teal);
  cursor: pointer;
  font-size: 11px;
  font-weight: 750;
}

.fw-maritime-report {
  margin-top: 14px;
}

.fw-maritime-report .intel-workspace {
  border: 1px solid var(--fw-line);
}

.fw-guide-index {
  width: min(100% - 40px, 1120px);
  margin: 0 auto;
  padding: 26px 0 82px;
}

.fw-guide-index .breadcrumbs,
.guide-page .breadcrumbs {
  color: var(--muted);
  font-size: 11px;
}

.fw-guide-index .breadcrumbs a,
.guide-page .breadcrumbs a {
  color: var(--teal);
  text-underline-offset: 3px;
}

.fw-guide-index-header {
  max-width: 800px;
  margin: 42px 0 0;
  border-bottom: 1px solid var(--line);
  padding-bottom: 25px;
}

.fw-guide-index-header h1 {
  max-width: 780px;
  margin: 0;
  font-size: clamp(34px, 5vw, 62px);
  line-height: .98;
}

.fw-guide-index-header .lede {
  max-width: 660px;
  margin: 16px 0 0;
  color: var(--muted);
  font: 17px/1.5 var(--serif);
}

.fw-guide-index-header .guide-index-scope {
  margin: 15px 0 0;
  color: var(--muted);
  font-size: 11px;
}

.fw-guide-topics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 22px;
  border: 1px solid var(--line);
  background: var(--line);
}

.fw-guide-topic {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  min-width: 0;
  padding: 15px;
  color: var(--ink);
  background: var(--core-panel, var(--white));
  text-decoration: none;
}

.fw-guide-topic:hover,
.fw-guide-topic:focus-visible {
  background: var(--core-panel-2, var(--navy));
}

.fw-guide-topic-index {
  color: var(--teal);
  font: 11px ui-monospace, SFMono-Regular, Menlo, monospace;
}

.fw-guide-topic strong,
.fw-guide-topic small {
  display: block;
}

.fw-guide-topic strong {
  font-size: 13px;
  line-height: 1.3;
}

.fw-guide-topic small {
  margin-top: 6px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.4;
}

.fw-guide-topic-arrow {
  color: var(--teal);
  font-size: 15px;
}

.fw-guide-index-reading {
  margin-top: 38px;
}

.fw-guide-index-reading > header {
  border-bottom: 1px solid var(--line);
  padding-bottom: 13px;
}

.fw-guide-index-reading h2 {
  margin: 0;
  font-size: 28px;
}

.fw-guide-index-steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 1px;
  background: var(--line);
}

.fw-guide-index-step {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 13px;
  min-width: 0;
  padding: 17px;
  background: var(--core-panel, var(--white));
}

.fw-guide-index-step-number {
  color: var(--teal);
  font: 12px ui-monospace, SFMono-Regular, Menlo, monospace;
}

.fw-guide-index-step h3 {
  margin: 0;
  color: var(--ink);
  font-size: 17px;
}

.fw-guide-index-step p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.fw-guide-index-step p + p {
  margin-top: 9px;
}

.fw-guide-index-step a {
  display: inline-block;
  margin-top: 12px;
  color: var(--teal);
  font-size: 11px;
  text-underline-offset: 3px;
}

.guide-page {
  width: min(100% - 40px, 1220px);
  margin: 0 auto;
  padding: 24px 0 84px;
}

.guide-page .guide-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(210px, .35fr);
  gap: 32px;
  align-items: end;
  max-width: none;
  margin: 38px 0 0;
  border-bottom: 1px solid var(--line);
  padding-bottom: 24px;
}

.guide-page .guide-header h1 {
  max-width: 820px;
  margin: 0;
  font-size: clamp(34px, 5vw, 58px);
  line-height: .98;
}

.guide-page .guide-lede {
  max-width: 720px;
  margin: 15px 0 0;
  color: var(--muted);
  font: 17px/1.5 var(--serif);
}

.guide-meta {
  display: grid;
  gap: 12px;
  margin: 0;
  border-left: 1px solid var(--line);
  padding-left: 18px;
}

.guide-meta dt {
  color: var(--muted);
  font: 750 9px/1.3 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.guide-meta dd {
  margin: 4px 0 0;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.4;
}

.guide-meta a {
  color: var(--teal);
  text-underline-offset: 3px;
}

.guide-page .guide-health {
  margin: 18px 0 0;
  border-radius: 0;
  background: var(--core-panel);
}

.guide-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
  gap: 24px;
  align-items: start;
  margin-top: 22px;
}

.guide-main,
.guide-sidebar {
  min-width: 0;
}

.guide-copy {
  max-width: none;
  margin-top: 0;
  counter-reset: guide-step;
}

.guide-copy h2 {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  margin: 28px 0 10px;
  font-size: 25px;
  line-height: 1.08;
}

.guide-copy h2:first-child {
  margin-top: 0;
}

.guide-copy h2::before {
  counter-increment: guide-step;
  content: counter(guide-step, decimal-leading-zero);
  color: var(--teal);
  font: 12px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace;
}

.guide-copy p,
.guide-copy li {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}

.guide-copy > p,
.guide-copy > table,
.guide-copy > ol {
  margin-left: 46px;
}

.guide-copy .guide-table {
  width: calc(100% - 46px);
  margin-top: 15px;
  border-color: var(--line);
  background: var(--core-panel);
}

.guide-copy .guide-table th,
.guide-copy .guide-table td {
  border-color: var(--line);
  padding: 10px 11px;
}

.guide-copy .guide-table thead th {
  color: var(--muted);
  background: var(--core-panel-2);
}

.guide-copy .guide-table tbody th {
  color: var(--ink);
}

.guide-page .guide-example {
  border-radius: 0;
  background: var(--core-panel);
}

.guide-sidebar > * + * {
  margin-top: 14px;
}

.guide-source-card,
.guide-related-card {
  border: 1px solid var(--line);
  padding: 16px;
  background: var(--core-panel);
}

.guide-source-card h2,
.guide-related-card h2 {
  margin: 0;
  color: var(--ink);
  font-size: 19px;
}

.guide-source-card p {
  margin: 9px 0 13px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.guide-source-card a,
.guide-related-card a {
  display: block;
  border-top: 1px solid var(--line);
  padding: 10px 0 0;
  color: var(--teal);
  font-size: 11px;
  text-underline-offset: 3px;
}

.guide-source-card a + a,
.guide-related-card a + a {
  margin-top: 9px;
}

.guide-related-card .guide-related-kicker {
  margin: 5px 0 12px;
  color: var(--muted);
  font-size: 11px;
}

.guide-next {
  margin-top: 32px;
  border-top-color: var(--line);
}

.guide-next div {
  gap: 8px 18px;
}

@media (max-width: 1050px) {
  .fw-investigation-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fw-investigation-column.is-next {
    grid-column: 1 / -1;
  }

  .fw-next-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .guide-layout {
    grid-template-columns: minmax(0, 1fr) 310px;
  }
}

@media (max-width: 800px) {
  .fw-page-shell,
  .fw-guide-index,
  .guide-page {
    width: min(100% - 28px, 680px);
  }

  .fw-investigation-header,
  .fw-maritime-header,
  .fw-maritime-query,
  .guide-page .guide-header {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .fw-investigation-actions {
    justify-content: flex-start;
  }

  .fw-investigation-grid,
  .fw-guide-topics,
  .fw-guide-index-steps,
  .guide-layout {
    grid-template-columns: 1fr;
  }

  .fw-investigation-column.is-next {
    grid-column: auto;
  }

  .fw-evidence-list,
  .fw-next-list {
    grid-template-columns: 1fr;
  }

  .fw-maritime-query {
    gap: 14px;
  }

  .fw-maritime-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fw-maritime-form button {
    grid-column: 1 / -1;
  }

  .guide-meta {
    border-top: 1px solid var(--line);
    border-left: 0;
    padding: 14px 0 0;
  }

  .guide-page .guide-header {
    gap: 16px;
  }

  .guide-copy > p,
  .guide-copy > table,
  .guide-copy > ol {
    margin-left: 0;
  }

  .guide-copy .guide-table {
    width: 100%;
  }
}

@media (max-width: 520px) {
  .fw-maritime-form {
    grid-template-columns: 1fr;
  }

  .fw-maritime-form button {
    grid-column: auto;
  }

  .fw-maritime-facts {
    grid-template-columns: 1fr;
  }

  .fw-guide-topic {
    grid-template-columns: 28px minmax(0, 1fr) auto;
    padding: 13px;
  }

  .fw-guide-index-header {
    margin-top: 28px;
  }

  .fw-guide-index-header .lede,
  .guide-page .guide-lede {
    font-size: 15px;
  }
}

@media print {
  body.mission-control {
    display: block;
    height: auto;
    overflow: visible;
    color: #111;
    background: #fff;
  }

  body.mission-control .mission-bar {
    display: none;
  }

  body.mission-control .mission-viewport {
    overflow: visible;
    margin-left: 0;
  }

  .fw-investigation-page,
  .fw-maritime-page {
    color: #111;
    background: #fff;
  }

  .fw-investigation-page a,
  .fw-maritime-page a,
  .fw-eyebrow,
  .fw-item-number,
  .fw-evidence-source,
  .fw-section-nav a {
    color: #111;
  }

  .fw-investigation-actions,
  .fw-section-nav,
  .fw-maritime-query {
    display: none;
  }

  .fw-investigation-column,
  .fw-investigation-evidence,
  .fw-investigation-next,
  .fw-investigation-list li,
  .fw-next-list li,
  .fw-evidence-list li,
  .fw-maritime-facts,
  .fw-maritime-facts div {
    border-color: #aaa;
    background: #fff;
    color: #111;
  }

  .guide-page,
  .fw-guide-index {
    color: #111;
    background: #fff;
  }

  .guide-page .guide-sidebar {
    position: static;
  }

  .guide-page .guide-next,
  .fw-guide-index .fw-guide-topics {
    break-inside: avoid;
  }
}
