@font-face {
  font-family:Inter;
  src:url('../assets/fonts/inter-regular.ttf');
}
@font-face {
  font-family:'Barlow Condensed';
  src:url('../assets/fonts/barlow-condensed-bold.ttf');
  font-weight:700;
}
@font-face {
  font-family:'IBM Plex Mono';
  src:url('../assets/fonts/ibm-plex-mono.ttf');
}
:root {
  --bg:#ffffff;
  --panel:#ffffff;
  --line:#d9d9df;
  --ink:#15151e;
  --muted:#65656d;
  --accent:#e10600;
  --sans:Inter,sans-serif;
  --mono:'IBM Plex Mono',monospace;
  --display:'Barlow Condensed',sans-serif;
}
* {
  box-sizing:border-box;
}
body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font:14px/1.6 Inter,sans-serif;
}
button,input,select {
  font:inherit;
}
button,a,input,select {
  outline-offset:4px;
}
button {
  cursor:pointer;
  color:inherit;
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible {
  outline:2px solid var(--accent);
}
a {
  color:inherit;
  text-decoration:none;
}
button {
  border:0;
  background:transparent;
}
button:hover,a:hover {
  color:var(--accent);
}
.topbar {
  min-height:84px;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 40px;
  gap:25px;
}
.brand {
  font-size:13px;
  font-weight:700;
  letter-spacing:1.7px;
  white-space:nowrap;
}
.brand-mark {
  font-size:28px;
  font-style:italic;
  color:var(--accent);
  letter-spacing:-6px;
  margin-right:20px;
}
.brand-light {
  color:var(--muted);
  font-weight:400;
}
.topbar nav {
  display:flex;
  align-self:stretch;
  gap:28px;
}
.nav-button {
  position:relative;
  color:var(--muted);
  font-size:13px;
  padding:0 2px;
}
.nav-button.active {
  color:var(--ink);
}
.nav-button.active:after {
  content:'';
  height:2px;
  background:var(--accent);
  position:absolute;
  bottom:-1px;
  left:0;
  right:0;
}
.nav-button span {
  font:10px var(--mono);
  background:#ededf0;
  border-radius:3px;
  padding:2px 5px;
  margin-left:4px;
}
.status {
  font:10px var(--mono);
  letter-spacing:1px;
  color:#65656d;
  display:flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.status i {
  width:6px;
  height:6px;
  border-radius:50%;
  background:#e10600;
}
main {
  padding:0 40px;
  max-width:1720px;
  margin:auto;
}
.hero {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:36px 0 28px;
  gap:30px;
}
.eyebrow,.field-label {
  font:10px/1.5 var(--mono);
  letter-spacing:1.5px;
  color:var(--muted);
  margin:0 0 10px;
}
.eyebrow b {
  font-weight:400;
  color:#8d8d94;
  margin-left:8px;
}
h1 {
  font:700 55px/.98 var(--display);
  letter-spacing:-.6px;
  margin:0 0 14px;
}
h1 span {
  color:var(--accent);
}
.hero-description {
  margin:0;
  color:var(--muted);
  font-size:13px;
}
.stats {
  display:flex;
  gap:38px;
}
.stats div {
  border-left:1px solid var(--line);
  padding-left:30px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.stats strong {
  font:700 42px/1 var(--display);
  white-space:nowrap;
}
.stats div:last-child strong {
  font-size:35px;
  line-height:42px;
}
.stats span {
  font:9px var(--mono);
  letter-spacing:.8px;
  color:var(--muted);
}
.research-note {
  border:1px solid #d9d9df;
  background:#fafafa;
  padding:10px 16px;
  display:flex;
  align-items:center;
  gap:15px;
  margin-bottom:24px;
}
.research-note>span {
  font:9px var(--mono);
  color:var(--accent);
  letter-spacing:1px;
  white-space:nowrap;
}
.research-note p {
  font-size:11px;
  color:#55555d;
  margin:0;
  flex:1;
}
.text-button {
  font-size:11px;
  padding:0;
  color:var(--muted);
  white-space:nowrap;
}
.workspace {
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  align-items:start;
  border:1px solid var(--line);
  background:var(--panel);
}
.composition {
  min-width:0;
  border-right:1px solid var(--line);
}
.panel-head {
  height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:0 22px;
  border-bottom:1px solid var(--line);
}
.panel-head .eyebrow {
  margin:0;
}
.toolbar {
  display:flex;
  align-items:center;
  gap:15px;
}
.segmented {
  display:flex;
  background:#f3f3f5;
  padding:3px;
  border:1px solid #dddde2;
  border-radius:4px;
}
.segmented button {
  font:10px var(--mono);
  padding:5px 12px;
  color:var(--muted);
  border-radius:2px;
}
.segmented button.active {
  background:#15151e;
  color:#ffffff;
}
.icon-button {
  font-size:20px;
  line-height:1;
  padding:5px 7px;
  color:#67676f;
}
.stage {
  position:relative;
  background:#ffffff;
  display:flex;
  justify-content:center;
  align-items:center;
  overflow:hidden;
  aspect-ratio:1.6;
  max-height:760px;
}
.stage canvas {
  display:block;
  max-width:100%;
  max-height:100%;
  width:100%;
  height:auto;
  cursor:crosshair;
  object-fit:contain;
}
.stage.portrait {
  aspect-ratio:auto;
  height:min(77vh,850px);
  padding:20px;
  background:repeating-linear-gradient(135deg,#f4f4f6 0,#f4f4f6 5px,#eaeaec 5px,#eaeaec 10px);
}
.stage.portrait canvas {
  width:auto;
  height:100%;
  max-width:100%;
  max-height:100%;
}
.stage:fullscreen {
  height:100vh;
  max-height:none;
  aspect-ratio:auto;
  padding:15px;
}
.stage:fullscreen canvas {
  height:100%;
  width:auto;
}
.canvas-loading {
  position:absolute;
  font:12px var(--mono);
  letter-spacing:3px;
  color:var(--muted);
}
.transport {
  display:flex;
  align-items:center;
  gap:14px;
  height:68px;
  padding:0 22px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.transport-buttons {
  display:flex;
  align-items:center;
  gap:6px;
}
.play-button {
  background:var(--accent);
  color:var(--bg);
  width:35px;
  height:35px;
  border-radius:50%;
  font-size:12px;
  padding:0;
}
.play-button:hover {
  background:#b80500;
  color:var(--bg);
}
.timecode {
  font:10px var(--mono);
  color:var(--muted);
  white-space:nowrap;
}
input[type=range] {
  accent-color:var(--accent);
  height:3px;
  min-width:40px;
  flex:1;
  cursor:pointer;
}
select {
  background:#ffffff;
  color:var(--ink);
  border:1px solid var(--line);
  padding:3px;
  font:11px var(--mono);
}
.timeline-head {
  display:flex;
  justify-content:space-between;
  padding:18px 22px 8px;
  gap:10px;
}
.timeline-head .eyebrow {
  margin:0;
}
.small {
  font-size:10px;
}
.muted {
  color:var(--muted);
}
.year-timeline {
  display:flex;
  gap:3px;
  align-items:end;
  height:88px;
  padding:4px 22px 0;
}
.year-bin {
  flex:1;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:end;
  flex-direction:column;
  height:100%;
  padding:0 0 3px;
  color:#75757d;
  font:9px var(--mono);
  gap:5px;
}
.year-bin .bar {
  width:100%;
  background:#b4b4bc;
  min-height:3px;
  transition:background .15s;
}
.year-bin .count {
  font-size:8px;
  opacity:.6;
}
.year-bin.current {
  color:var(--accent);
}
.year-bin.current .bar {
  background:var(--accent);
}
.year-bin:hover .bar {
  background:#65656d;
}
.year-bin.cancelled {
  color:#b0b0b8;
}
.year-bin.cancelled .bar {
  background:none;
  border-top:1px dashed #b0b0b8;
  min-height:3px;
}
.timeline-foot {
  display:flex;
  justify-content:space-between;
  padding:10px 22px 17px;
  gap:12px;
  font:8px var(--mono);
  color:var(--muted);
}
.tiny-dot {
  display:inline-block;
  width:5px;
  height:5px;
  background:#b4b4bc;
  margin-right:6px;
}
.inspector {
  display:flex;
  flex-direction:column;
  min-width:0;
}
.inspector-inner {
  padding:21px;
}
.session-filter {
  display:flex;
  border:1px solid var(--line);
  border-radius:4px;
  padding:3px;
  background:#f3f3f5;
  margin-bottom:15px;
}
.session-filter button {
  flex:1;
  border-radius:2px;
  padding:6px 0;
  font-size:11px;
  color:var(--muted);
}
.session-filter button.active {
  background:#15151e;
  color:#ffffff;
}
.display-options {
  display:flex;
  gap:18px;
  font-size:10px;
  color:var(--muted);
  padding-bottom:22px;
  border-bottom:1px solid var(--line);
}
.display-options label {
  display:flex;
  align-items:center;
  gap:5px;
  cursor:pointer;
}
.display-options input {
  accent-color:var(--accent);
  width:11px;
  height:11px;
}
.selected-incident {
  padding:22px 0 20px;
  border-bottom:1px solid var(--line);
  min-height:246px;
}
.selected-meta {
  font:9px var(--mono);
  letter-spacing:1px;
  margin-bottom:10px;
}
.selected-incident h2 {
  font:700 32px/1.05 var(--display);
  margin:0 0 12px;
}
.selected-incident p {
  color:#595961;
  font-size:11px;
  line-height:1.7;
  margin:0 0 12px;
}
.evidence-tag {
  display:inline-block;
  font:8px var(--mono);
  color:#e10600;
  border:1px solid #efb6b3;
  padding:3px 6px;
  margin-bottom:9px;
}
.evidence-tag.unplaced {
  color:#65656d;
  border-color:#c6c6cc;
}
.source-link {
  display:block;
  font-size:10px;
  color:var(--ink);
  line-height:1.5;
  overflow-wrap:anywhere;
}
.source-link span {
  color:var(--muted);
  display:block;
  font-size:9px;
  margin-top:3px;
}
.list-title {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:20px;
}
.list-title .field-label {
  margin:0;
}
.search-wrap {
  display:flex;
  align-items:center;
  border:1px solid var(--line);
  border-radius:3px;
  padding:7px 10px;
  gap:8px;
  margin:13px 0;
  color:var(--muted);
}
.search-wrap input {
  background:none;
  border:0;
  outline:none;
  color:var(--ink);
  min-width:0;
  flex:1;
  font-size:11px;
}
.search-wrap input::placeholder {
  color:#909098;
}
.incident-list {
  max-height:205px;
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:#b4b4bc transparent;
}
.incident-row {
  display:flex;
  align-items:center;
  text-align:left;
  width:100%;
  padding:10px 3px;
  border-bottom:1px solid #e9e9ed;
  gap:10px;
}
.incident-row .row-dot {
  width:6px;
  height:6px;
  border-radius:50%;
  flex-shrink:0;
}
.incident-row .row-text {
  flex:1;
  min-width:0;
}
.row-title {
  display:block;
  font-size:10px;
  white-space:nowrap;
  text-overflow:ellipsis;
  overflow:hidden;
}
.row-meta {
  display:block;
  font:8px var(--mono);
  color:var(--muted);
  margin-top:4px;
}
.row-turn {
  font:10px var(--mono);
  color:var(--muted);
  white-space:nowrap;
}
.incident-row.selected {
  background:#fff3f2;
}
.export-area {
  padding:18px 21px;
  border-top:1px solid var(--line);
}
.export-button {
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:var(--accent);
  color:#ffffff;
  width:100%;
  padding:12px 17px;
  font-size:12px;
  font-weight:700;
  border-radius:3px;
}
.export-button:hover {
  background:#b80500;
  color:#ffffff;
}
.export-button span {
  font-size:20px;
  font-weight:400;
}
.export-area p {
  font:8px/1.7 var(--mono);
  color:var(--muted);
  text-align:center;
  margin:10px 0 0;
}
.hidden {
  display:none!important;
}
footer {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:26px 0 34px;
  color:#75757d;
  font:9px var(--mono);
}
footer b {
  color:var(--accent);
  letter-spacing:-2px;
  margin-right:8px;
}
footer a {
  white-space:nowrap;
}
.section-title {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
  padding:20px 0 25px;
}
.section-title h2 {
  font:700 46px/1 var(--display);
  margin:5px 0 12px;
}
.section-title p {
  color:var(--muted);
  font-size:12px;
  margin:0;
}
.secondary-button {
  border:1px solid var(--line);
  padding:11px 15px;
  border-radius:3px;
  font-size:11px;
  color:var(--ink);
  white-space:nowrap;
}
.secondary-button:hover {
  border-color:var(--accent);
}
.ledger-search {
  max-width:470px;
  margin-top:0;
}
.table-wrap {
  overflow:auto;
  border:1px solid var(--line);
}
table {
  border-collapse:collapse;
  width:100%;
  text-align:left;
  font-size:11px;
}
th {
  font:9px var(--mono);
  color:var(--muted);
  letter-spacing:1px;
  background:#f3f3f5;
  padding:15px 18px;
  white-space:nowrap;
}
td {
  padding:15px 18px;
  border-top:1px solid var(--line);
  vertical-align:top;
}
td:first-child {
  font:12px var(--mono);
  color:var(--accent);
}
td a {
  color:#414149;
  display:block;
  margin-top:8px;
  font-size:10px;
}
td .unlocated {
  color:#65656d;
}
.ledger-description {
  max-width:650px;
  color:var(--muted);
}
.method-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid var(--line);
  margin-bottom:30px;
}
.method-grid article {
  padding:28px;
  border-right:1px solid var(--line);
}
.method-grid article:last-child {
  border:0;
}
.method-number {
  font:12px var(--mono);
  color:var(--accent);
}
h3 {
  font:700 29px/1.05 var(--display);
  margin:15px 0 12px;
}
.method-grid p,.coverage-aside p {
  font-size:12px;
  color:var(--muted);
  line-height:1.8;
}
.coverage-grid {
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:35px;
}
.coverage-aside {
  border:1px solid var(--line);
  padding:26px 30px;
  height:fit-content;
}
.coverage-aside h3:first-child {
  margin-top:0;
  font-size:35px;
}
.coverage-aside ul {
  list-style:none;
  padding:10px 0;
  font-size:11px;
  color:var(--muted);
  line-height:2;
}
.coverage-aside a {
  font-size:11px;
  color:#414149;
}
dialog {
  border:1px solid var(--line);
  background:var(--panel);
  color:var(--ink);
  padding:25px;
  width:min(500px,calc(100% - 32px));
  box-shadow:0 30px 100px #15151e26;
}
dialog::backdrop {
  background:#15151e99;
  backdrop-filter:blur(5px);
}
.dialog-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
}
dialog h2 {
  font:700 38px/1.1 var(--display);
  margin:18px 0 12px;
}
dialog>p {
  font-size:12px;
  color:var(--muted);
  line-height:1.8;
  margin:10px 0 20px;
}
dialog .secondary-button {
  width:100%;
  margin-top:10px;
}
dialog>.text-button {
  margin-top:18px;
}
dialog .small {
  font-size:10px;
  margin-bottom:0;
}
.toast {
  color:#ffffff;
  position:fixed;
  bottom:25px;
  left:50%;
  transform:translate(-50%,10px);
  background:#15151e;
  border:1px solid #e10600;
  padding:10px 20px;
  font-size:12px;
  opacity:0;
  pointer-events:none;
  transition:.15s;
  z-index:9;
}
.toast.visible {
  opacity:1;
  transform:translate(-50%,0);
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
}
:root {
  color-scheme:light;
}
::selection {
  color:#ffffff;
  background:var(--accent);
}
body {
  background:#ffffff;
  -webkit-font-smoothing:antialiased;
}
.topbar {
  border-top:4px solid var(--accent);
  background:#ffffff;
}
.brand {
  letter-spacing:1.35px;
}
.brand-mark {
  display:inline-block;
  transform:skew(-12deg);
}
.nav-button.active {
  font-weight:700;
}
.nav-button.active:after {
  height:3px;
  transform:skew(-20deg);
  transform-origin:left;
}
.nav-button span {
  border-radius:2px;
  color:#55555d;
}
.status i {
  border-radius:1px;
  transform:skew(-15deg);
}
h1 {
  letter-spacing:-.9px;
  text-transform:uppercase;
}
.research-note {
  border-left:3px solid var(--accent);
}
.research-note>span {
  font-weight:700;
}
.text-button:hover {
  text-decoration:underline;
  text-underline-offset:3px;
}
.workspace {
  border-top:3px solid var(--ink);
}
.panel-head {
  background:#fafafa;
}
.segmented,.session-filter {
  border-radius:2px;
}
.segmented button,.session-filter button {
  border-radius:1px;
}
.segmented button.active:hover,.session-filter button.active:hover {
  color:#ffffff;
  background:var(--accent);
}
.play-button {
  border-radius:2px;
  clip-path:polygon(0 0,100% 0,100% 76%,76% 100%,0 100%);
}
.transport {
  background:#fafafa;
}
select {
  border-radius:2px;
}
.year-bin {
  transition:color .15s;
}
.year-bin:hover {
  color:var(--ink);
}
.year-bin.current .count {
  opacity:1;
}
.year-bin.current .bar {
  clip-path:polygon(0 4px,4px 0,100% 0,100% 100%,0 100%);
}
.inspector {
  background:#ffffff;
}
.selected-meta {
  color:var(--ink);
}
.evidence-tag {
  background:#fff7f6;
  border-radius:1px;
  letter-spacing:.25px;
}
.evidence-tag.unplaced {
  background:#f5f5f7;
}
.source-link {
  text-decoration:underline;
  text-decoration-color:#c6c6cc;
  text-underline-offset:3px;
}
.source-link span {
  text-decoration:none;
}
.search-wrap {
  background:#ffffff;
  border-radius:2px;
}
.search-wrap:focus-within {
  border-color:var(--accent);
  box-shadow:0 0 0 1px var(--accent);
}
.incident-row {
  border-left:2px solid transparent;
  padding-left:7px;
  padding-right:7px;
}
.incident-row:hover {
  background:#f5f5f7;
  color:var(--ink);
}
.incident-row.selected {
  border-left-color:var(--accent);
  color:var(--ink);
}
.export-button {
  border-radius:2px;
  text-transform:uppercase;
  letter-spacing:.7px;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%);
}
.secondary-button {
  border-radius:2px;
  background:#ffffff;
}
.secondary-button:hover {
  background:#fff7f6;
}
th {
  color:#55555d;
  border-bottom:2px solid var(--ink);
}
tbody tr:hover {
  background:#fafafa;
}
td a:hover {
  color:var(--accent);
  text-decoration:underline;
  text-underline-offset:3px;
}
.method-grid article {
  border-top:3px solid var(--accent);
}
.method-grid article:last-child {
  border-top:3px solid var(--accent);
}
.coverage-aside {
  border-top:3px solid var(--accent);
  background:#fafafa;
}
dialog {
  border-top:4px solid var(--accent);
  border-radius:2px;
}
.toast {
  border-left:4px solid var(--accent);
  border-radius:2px;
}
.driver-name-row {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  margin:0 0 8px;
}
.driver-name-row h2,.driver-name-row .driver-name {
  margin:0;
  min-width:0;
  font:700 27px/1.05 var(--display);
}
.team-logo {
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:34px;
  flex:0 0 52px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:2px;
  background:#ffffff;
}
.team-logo img {
  display:block;
  width:100%;
  height:100%;
  padding:4px;
  object-fit:contain;
}
img.team-logo {
  padding:4px;
  object-fit:contain;
}
.ledger-driver {
  display:flex;
  align-items:center;
  gap:8px;
  min-height:24px;
  margin-bottom:4px;
}
.ledger-driver:last-child {
  margin-bottom:0;
}
.ledger-driver img {
  display:block;
  width:28px;
  height:20px;
  flex:0 0 28px;
  object-fit:contain;
  padding:2px;
  border:1px solid #e9e9ed;
  border-radius:1px;
  background:#ffffff;
}
@media(min-width:1600px) {
  .workspace {
    grid-template-columns:minmax(0,1fr) 350px;
  }
  .incident-list {
    max-height:300px;
  }
}
@media(max-width:1150px) {
  main {
    padding:0 24px;
  }
  .topbar {
    padding:0 24px;
  }
  .topbar nav {
    gap:18px;
  }
  .status {
    display:none;
  }
  .stats {
    gap:20px;
  }
  .stats div {
    padding-left:18px;
  }
  .stats strong {
    font-size:34px;
  }
  .stats div:last-child {
    display:none;
  }
  .workspace {
    grid-template-columns:minmax(0,1fr) 290px;
  }
  .transport {
    gap:8px;
    padding:0 13px;
  }
  .transport-buttons {
    gap:2px;
  }
  .timeline-foot {
    font-size:7px;
  }
  .timeline-head .small {
    display:none;
  }
  .timecode {
    font-size:9px;
  }
  .inspector-inner {
    padding:17px;
  }
  .export-area {
    padding:17px;
  }
}
@media(max-width:850px) {
  .hero {
    padding:27px 0;
  }
  .hero h1 {
    font-size:46px;
  }
  .stats {
    display:none;
  }
  .workspace {
    grid-template-columns:1fr;
  }
  .composition {
    border-right:0;
  }
  .inspector {
    border-top:1px solid var(--line);
  }
  .inspector-inner {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 25px;
    padding:22px;
  }
  .inspector-inner>.field-label,.session-filter,.display-options {
    grid-column:1 / -1;
  }
  .selected-incident {
    grid-column:1;
    grid-row:4 / 8;
    border:0;
    min-height:0;
  }
  .list-title,.search-wrap,.incident-list {
    grid-column:2;
  }
  .list-title {
    padding-top:20px;
  }
  .incident-list {
    max-height:210px;
  }
  .export-area {
    display:flex;
    align-items:center;
    gap:20px;
  }
  .export-area .export-button {
    max-width:220px;
  }
  .method-grid {
    grid-template-columns:1fr;
  }
  .method-grid article {
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .coverage-grid {
    grid-template-columns:1fr;
  }
  .section-title {
    align-items:start;
  }
  .research-note {
    align-items:start;
    flex-wrap:wrap;
    gap:5px 15px;
  }
  .research-note p {
    flex-basis:80%;
  }
  .research-note .text-button {
    margin-left:auto;
  }
  .topbar nav {
    gap:20px;
  }
  .brand-light {
    display:none;
  }
  footer {
    flex-wrap:wrap;
  }
  footer span:nth-child(2) {
    display:none;
  }
  .stage.portrait {
    height:720px;
  }
}
@media(max-width:550px) {
  main {
    padding:0 14px;
  }
  .topbar {
    padding:14px;
    gap:12px;
    flex-wrap:wrap;
    min-height:0;
  }
  .brand {
    font-size:11px;
  }
  .topbar nav {
    height:40px;
    width:100%;
    justify-content:space-between;
    gap:14px;
  }
  .nav-button {
    font-size:11px;
  }
  .hero {
    padding:25px 0 20px;
  }
  .hero h1 {
    font-size:43px;
  }
  .hero .eyebrow {
    font-size:8px;
  }
  .research-note {
    padding:10px 12px;
    margin-bottom:16px;
  }
  .research-note p {
    font-size:10px;
  }
  .panel-head {
    padding:0 14px;
    height:52px;
  }
  .stage {
    aspect-ratio:1.4;
  }
  .transport {
    height:59px;
    gap:7px;
    padding:0 10px;
  }
  .transport .icon-button {
    font-size:16px;
    padding:4px;
  }
  .play-button {
    width:30px;
    height:30px;
  }
  .timecode {
    font-size:8px;
  }
  .speed-label select {
    font-size:9px;
  }
  .timeline-head {
    padding:15px 12px 7px;
  }
  .year-timeline {
    padding:3px 12px 0;
    gap:3px;
    height:75px;
  }
  .year-bin {
    font-size:7px;
  }
  .year-bin .count {
    font-size:7px;
  }
  .timeline-foot {
    padding:9px 12px 13px;
    font-size:6px;
  }
  .inspector-inner {
    display:block;
    padding:20px;
  }
  .selected-incident {
    min-height:0;
  }
  .incident-list {
    max-height:200px;
  }
  .export-area {
    display:block;
    padding:20px;
  }
  .export-area .export-button {
    max-width:none;
  }
  .section-title {
    display:block;
  }
  .section-title .secondary-button {
    display:inline-block;
    margin-top:15px;
  }
  .section-title h2 {
    font-size:39px;
  }
  .coverage-aside {
    padding:25px;
  }
  .stage.portrait {
    height:min(80vh,720px);
  }
  footer {
    font-size:8px;
  }
  .segmented button {
    padding:5px 9px;
  }
}

.brand-logo { width: 65px; height: 26px; object-fit: contain; vertical-align: middle; margin-right: 14px; }

.legal-footer { display:block; border-top:1px solid var(--line); margin-top:20px; font:9px/1.5 var(--sans); color:#696970; }
.footer-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:12px; font:10px var(--mono); }
.legal-footer p { max-width:1120px; margin:0 0 6px; }
.legal-footer a { white-space:normal; text-decoration:underline; text-underline-offset:3px; }
.footer-links { display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:12px; font:10px var(--mono); }
@media(max-width:550px) { .footer-heading { align-items:flex-start; flex-direction:column; } }
