:root {
  --bg: #070a14;
  --panel: #0f1528;
  --panel-soft: #15213e;
  --ink: #e8ebf2;
  --muted: #9ca5bf;
  --line: #243255;
  --accent: #4cc9f0;
  --accent-strong: #5ee6b0;
  --warning: #ffcb77;
}

.skip-link { position: fixed; top: -6rem; left: 1rem; z-index: 100; padding: .7rem 1rem; background: white; color: #070a14; }
.skip-link:focus { top: 1rem; }
.study-snapshot { margin-block: 1rem; border-left: 3px solid var(--accent); padding-left: 1rem; }
.study-snapshot dl { margin: 0; }
.study-snapshot dt { color: var(--muted); font-size: .85rem; margin-top: .8rem; }
.study-snapshot dd { margin: .2rem 0 0; overflow-wrap: anywhere; }
.source-review-note { margin: .8rem 0; padding: .8rem 1rem; border: 1px solid var(--line); border-radius: 8px; font-size: .85rem; }
.source-review-note p { margin: .3rem 0; color: var(--muted); }
.source-review-note a { color: var(--accent); overflow-wrap: anywhere; }
.discovery-search { margin-top: 2rem; max-width: 760px; }
.discovery-search label { display: block; font-weight: 650; margin-bottom: .6rem; }
.discovery-search-row { display: flex; gap: .6rem; }
.discovery-search input { flex: 1; min-width: 0; width: 100%; font: inherit; padding: .9rem 1rem; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); color: var(--ink); }
.discovery-search button { font: inherit; cursor: pointer; }
.hero .discovery-status { margin-top: .5rem; font-size: .85rem; }
.hero .discovery-catalog-note { margin-top: 1.2rem; font-size: .85rem; }
.discovery-results { margin: .8rem 0 0; padding: 0; list-style: none; background: var(--bg); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.discovery-results li + li { border-top: 1px solid var(--line); }
.discovery-results a { display: block; padding: .8rem 1rem; text-decoration: none; }
.discovery-results a:hover { background: var(--panel-soft); }
.discovery-panel h2 { margin: .3rem 0 .6rem; }
.discovery-collections { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-top: 1.6rem; }
.discovery-collection { padding: 1.3rem; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); min-width: 0; }
.discovery-number { color: var(--accent); font-size: .85rem; letter-spacing: .1em; }
.discovery-collection h3 { font-size: 1.2rem; margin: .8rem 0; }
.discovery-collection p { color: var(--muted); font-size: .9rem; }
.discovery-collection ul { list-style: none; padding: 0; margin: 1.1rem 0 0; }
.discovery-collection li { border-top: 1px solid var(--line); }
.discovery-collection a { display: block; padding: .7rem 0; font-size: .88rem; text-underline-offset: .2em; overflow-wrap: anywhere; }
.discovery-collection a:hover { color: var(--accent); }
.discovery-search :focus-visible, .discovery-collection a:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
@media (max-width: 1100px) { .discovery-collections { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .discovery-collections { grid-template-columns: minmax(0, 1fr); }
  .discovery-search-row { flex-direction: column; }
  .discovery-search button { align-self: stretch; }
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
}

body {
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color: var(--ink);
  background: radial-gradient(circle at top, #151a2d 0%, var(--bg) 55%);
  line-height: 1.6;
}

a {
  color: inherit;
}

.site-header {
  padding: 1.25rem clamp(1rem, 3vw, 3rem);
}

.nav {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: rgba(7, 10, 20, 0.92);
  backdrop-filter: blur(8px);
  padding: 0.75rem 1rem;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.brand {
  color: white;
  font-weight: 700;
  text-decoration: none;
}

.menu {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

.menu a {
  text-decoration: none;
  color: var(--muted);
}

.menu a:hover {
  color: white;
}

#menu-toggle {
  display: none;
  border: 0;
  border-radius: 8px;
  padding: 0.4rem 0.65rem;
  background: var(--panel-soft);
  color: var(--ink);
}

.hero {
  margin-top: 2rem;
  padding: 2rem;
  border: 1px solid var(--line);
  background: linear-gradient(130deg, rgba(76, 201, 240, 0.15), rgba(94, 230, 176, 0.08));
  border-radius: 16px;
}

.eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--accent);
  margin-top: 0;
  margin-bottom: 0.4rem;
}

h1,
h2,
h3,
h4,
h5 {
  line-height: 1.2;
}

h1 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.8rem, 4.5vw, 3.25rem);
}

.hero p {
  margin: 0;
  max-width: 65ch;
  color: var(--muted);
}

.hero-actions {
  margin-top: 1.2rem;
  display: flex;
  gap: 0.8rem;
}

.btn {
  text-decoration: none;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 0.65rem 0.95rem;
  color: var(--bg);
  background: linear-gradient(140deg, var(--accent), var(--accent-strong));
  font-weight: 700;
  display: inline-block;
}

.btn.ghost {
  background: transparent;
  color: var(--ink);
}

main {
  width: min(1080px, calc(100% - 2rem));
  margin: 2rem auto;
  display: grid;
  gap: 1.1rem;
}

.panel {
  padding: 1.2rem;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(15, 21, 40, 0.8), rgba(10, 14, 25, 0.86));
}

.section-head {
  display: flex;
  gap: 0.8rem;
  align-items: baseline;
  flex-wrap: wrap;
}

.meta {
  color: var(--muted);
  margin-left: auto;
}

.coverage-summary {
  margin: 0.8rem 0 0.2rem;
  color: var(--muted);
}

.research-routes {
  display: grid;
  grid-template-columns: minmax(190px, 0.7fr) 1.8fr;
  gap: 1rem;
  margin: 1rem 0 1.2rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(76, 201, 240, 0.08), rgba(94, 230, 176, 0.04));
}

.research-routes-intro .eyebrow {
  margin-bottom: 0.35rem;
  font-size: 0.72rem;
}

.research-routes-intro h3 {
  margin: 0 0 0.45rem;
}

.research-routes-intro p:last-child {
  margin: 0;
  font-size: 0.9rem;
}

.research-route-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}

.research-route {
  display: grid;
  gap: 0.25rem;
  min-height: 7.5rem;
  padding: 0.8rem;
  text-align: left;
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 11px;
  background: rgba(15, 21, 40, 0.76);
  cursor: pointer;
  transition: border-color 160ms ease, transform 160ms ease, background 160ms ease;
}

.research-route:hover,
.research-route:focus-visible {
  border-color: var(--accent);
  background: rgba(21, 33, 62, 0.96);
  transform: translateY(-1px);
}

.research-route-kicker {
  color: var(--accent-strong);
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.research-route strong {
  font-size: 0.98rem;
}

.research-route > span:last-child {
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.4;
}

.note,
.muted {
  color: var(--muted);
}

.controls {
  margin-top: 0.75rem;
  display: grid;
  grid-template-columns: 1.4fr 0.9fr 1fr 1fr 1fr auto;
  gap: 0.65rem;
}

.controls input,
.controls select,
.controls button {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
  color: var(--ink);
  padding: 0.75rem;
}

.controls button {
  cursor: pointer;
}

.alphabet {
  margin: 1rem 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.alphabet button {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel);
  color: var(--ink);
  padding: 0.4rem 0.65rem;
  cursor: pointer;
}

.alphabet button.active {
  border-color: var(--accent);
  color: var(--accent-strong);
}

.entries-grid {
  display: grid;
  gap: 0.8rem;
}

.result-summary {
  margin-top: 0.45rem;
  color: var(--muted);
}

.entry-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-soft);
  padding: 0.9rem;
}

.entry-card h3 {
  margin-top: 0;
}

.entry-meta {
  display: flex;
  gap: 0.45rem;
  flex-wrap: wrap;
  margin-bottom: 0.75rem;
}

.tag {
  font-size: 0.8rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 0.15rem 0.5rem;
  color: var(--muted);
}

.scope-foundational {
  color: #95f0dd;
  border-color: #3f7e73;
}

.scope-applied {
  color: #c2e6ff;
  border-color: #4b6f93;
}

.scope-clinical {
  color: #ffe1a7;
  border-color: #775d29;
}

.scope-experimental {
  color: #f5a8d7;
  border-color: #7a3f66;
}

.warning {
  color: var(--warning);
}

.entry-card details {
  margin-top: 0.5rem;
}

.entry-card details summary {
  cursor: pointer;
  color: #d4ddf7;
}

.entry-sublist {
  margin: 0;
  padding-left: 1.2rem;
}

.evidence-strip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 0.15rem 0.55rem;
  font-weight: 600;
}

.frontier-list {
  display: grid;
  gap: 0.65rem;
}

.frontier-item a {
  color: var(--accent);
  display: inline-block;
  margin: 0.2rem 0 0.3rem;
}

.frontier-item a:hover {
  text-decoration: underline;
}

.frontier-item {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-soft);
  padding: 0.75rem;
}

.matrix-panel {
  margin-top: 1.2rem;
  border-top: 1px solid var(--line);
  padding-top: 1rem;
}

.medication-matrix-grid {
  display: grid;
  gap: 0.7rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.medication-matrix-card {
  display: grid;
  gap: 0.45rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(12, 20, 40, 0.72);
  padding: 0.8rem;
}

.medication-matrix-card-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.6rem;
}

.medication-matrix-card h3,
.medication-matrix-card h4 {
  margin: 0;
}

.medication-matrix-card h4 {
  color: var(--accent);
  font-size: 0.78rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.medication-matrix-card p {
  margin: 0.15rem 0 0;
}

.medication-matrix-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  border-top: 1px solid var(--line);
  margin-top: 0.25rem;
  padding-top: 0.55rem;
}

@media (max-width: 760px) {
  .medication-matrix-grid {
    grid-template-columns: 1fr;
  }
}

.protocol-profile-card {
  display: grid;
  gap: 0.35rem;
}

.protocol-profile-card > .pulse-card-head h3 {
  margin: 0;
}

.protocol-profile-card .warning {
  margin: 0.35rem 0 0;
}

.protocol-topic-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.4rem;
  padding-top: 0.45rem;
  border-top: 1px solid var(--line);
}

.protocol-topic-links .muted {
  margin-right: 0.2rem;
}

.pulse-controls {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) auto;
  gap: 0.55rem;
  margin: 0.75rem 0;
}

.pulse-controls input,
.pulse-controls select {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(7, 12, 26, 0.52);
  color: var(--ink);
  padding: 0.55rem 0.6rem;
  font: inherit;
}

.pulse-controls input:focus,
.pulse-controls select:focus {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}

.pulse-list {
  display: grid;
  gap: 0.65rem;
}

.pulse-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-soft);
  padding: 0.75rem;
}

.pulse-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}

.pulse-card-head h3 {
  margin: 0;
  color: var(--ink);
}

.pulse-meta {
  margin: 0.25rem 0;
}

.pulse-card > p {
  margin: 0.35rem 0;
}

.pulse-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.45rem;
}

.pulse-actions a {
  color: var(--ink);
  text-decoration: none;
}

.frontier-item h4 {
  margin: 0.65rem 0 0.25rem;
}

.source-interpretation {
  margin: 0.55rem 0;
  border-top: 1px solid var(--line);
  padding-top: 0.45rem;
}

.source-interpretation summary {
  cursor: pointer;
  color: #d4ddf7;
}

.source-interpretation p {
  margin: 0.25rem 0;
}

.coverage-panel {
  margin: 1rem 0;
  border-top: 1px solid var(--line);
  padding-top: 0.85rem;
}

.coverage-panel h3 {
  margin: 0;
}

.coverage-controls {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0.65rem 0;
  color: var(--muted);
}

.coverage-controls select {
  max-width: 100%;
}

.coverage-grid {
  display: grid;
  gap: 0.6rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.coverage-card {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel-soft);
  padding: 0.7rem;
}

.coverage-card-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.55rem;
}

.coverage-card h4 {
  margin: 0;
}

.coverage-card p {
  margin: 0.35rem 0;
}

.coverage-card .btn-mini {
  margin-top: 0.25rem;
}

.coverage-good {
  color: #95f0dd;
}

.coverage-neutral {
  color: var(--accent);
}

.research-desk {
  margin: 1rem 0;
  border-top: 1px solid var(--line);
  padding-top: 0.85rem;
}

.research-desk h3,
.research-desk h4 {
  margin: 0;
}

.research-desk-controls {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr auto;
  gap: 0.55rem;
  margin: 0.75rem 0 0.35rem;
}

.research-desk-controls input,
.research-desk-controls select,
.research-desk-controls button {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
  color: var(--ink);
  padding: 0.7rem;
}

.research-desk-controls button {
  cursor: pointer;
}

.research-desk-controls button:hover,
.research-desk-controls button:focus-visible {
  border-color: var(--accent);
}

.editorial-update-panel {
  margin-top: 0.9rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(21, 33, 62, 0.42);
  padding: 0.75rem;
}

.editorial-update-list {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.6rem;
}

.editorial-update-card {
  border-left: 3px solid var(--accent);
  border-radius: 0 8px 8px 0;
  background: rgba(7, 12, 26, 0.42);
  padding: 0.55rem 0.7rem;
}

.editorial-update-card p {
  margin: 0.15rem 0;
}

.editorial-update-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.35rem;
}

.editorial-update-links .btn-mini {
  margin-top: 0;
}

.editorial-queue {
  margin-top: 1rem;
  border-top: 1px solid var(--line);
  padding-top: 0.85rem;
}

.editorial-queue-controls {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.6rem;
  margin-top: 0.65rem;
}

.editorial-queue-controls label {
  color: var(--muted);
  font-size: 0.86rem;
}

.editorial-queue-list {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.65rem;
}

.editorial-queue-card {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(21, 33, 62, 0.42);
  padding: 0.65rem 0.75rem;
}

.editorial-queue-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  flex-wrap: wrap;
}

.editorial-queue-card h4 {
  margin: 0;
  color: var(--ink);
}

.editorial-queue-card p {
  margin: 0.3rem 0;
}

.editorial-queue-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.45rem;
}

.editorial-draft-workbench {
  margin-top: 1rem;
  border-top: 1px solid var(--line);
  padding-top: 0.85rem;
}

.editorial-draft-form {
  display: grid;
  gap: 0.65rem;
  margin-top: 0.65rem;
}

.editorial-draft-form label,
.editorial-draft-fields label {
  display: grid;
  gap: 0.3rem;
  color: var(--muted);
  font-size: 0.86rem;
}

.editorial-draft-fields {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
}

.editorial-draft-fields-wide {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.editorial-draft-form input,
.editorial-draft-form select,
.editorial-draft-form textarea,
.editorial-draft-library select {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(7, 12, 26, 0.52);
  color: var(--ink);
  padding: 0.55rem 0.6rem;
  font: inherit;
}

.editorial-draft-form textarea {
  min-height: 4rem;
  resize: vertical;
}

.editorial-draft-form input:focus,
.editorial-draft-form select:focus,
.editorial-draft-form textarea:focus,
.editorial-draft-library select:focus {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}

.editorial-draft-actions,
.editorial-draft-card-actions,
.editorial-draft-library-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
}

.editorial-draft-library {
  margin-top: 1rem;
  border-top: 1px solid var(--line);
  padding-top: 0.75rem;
}

.editorial-draft-library-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  flex-wrap: wrap;
}

.editorial-draft-library-head h4 {
  margin: 0;
}

.editorial-draft-list {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.55rem;
}

.editorial-draft-card {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(21, 33, 62, 0.42);
  padding: 0.65rem 0.75rem;
}

.editorial-draft-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  flex-wrap: wrap;
}

.editorial-draft-card h5 {
  margin: 0;
  color: var(--ink);
  font-size: 0.98rem;
}

.editorial-draft-card p {
  margin: 0.35rem 0;
}

.editorial-draft-status-select {
  width: auto !important;
  min-width: 9rem;
  padding: 0.35rem 0.5rem !important;
}

.workspace-panel {
  margin-top: 1rem;
  border-top: 1px solid var(--line);
  padding-top: 0.85rem;
}

.workspace-health {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0.7rem 0;
}

.workspace-health-item {
  display: grid;
  gap: 0.1rem;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--panel-soft);
  padding: 0.5rem;
}

.workspace-health-item strong {
  color: var(--ink);
  font-size: 0.9rem;
}

.workspace-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.workspace-actions label {
  color: var(--muted);
  font-size: 0.84rem;
}

.workspace-actions select {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(7, 12, 26, 0.52);
  color: var(--ink);
  padding: 0.4rem 0.5rem;
  font: inherit;
}

.protocol-lab {
  margin-top: 1rem;
  border-top: 1px solid var(--line);
  padding-top: 0.85rem;
}

.protocol-lab-controls {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.2fr) auto auto;
  align-items: end;
  gap: 0.55rem;
  margin-top: 0.7rem;
}

.protocol-lab-controls label {
  display: grid;
  gap: 0.3rem;
  color: var(--muted);
  font-size: 0.86rem;
}

.protocol-lab-controls select {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(7, 12, 26, 0.52);
  color: var(--ink);
  padding: 0.55rem 0.6rem;
  font: inherit;
}

.planner-output {
  margin-top: 0.75rem;
}

.planner-brief {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-soft);
  padding: 0.75rem;
}

.planner-brief-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.6rem;
  flex-wrap: wrap;
}

.planner-brief-head h4 {
  margin: 0;
  color: var(--ink);
}

.planner-brief > p {
  margin: 0.45rem 0;
}

.planner-brief-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0.65rem 0;
}

.planner-brief-stats > div {
  display: grid;
  gap: 0.1rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(7, 12, 26, 0.35);
  padding: 0.45rem;
}

.planner-brief-stats strong {
  color: var(--ink);
  font-size: 0.88rem;
}

.planner-brief-section {
  border-top: 1px solid var(--line);
  margin-top: 0.65rem;
  padding-top: 0.55rem;
}

.planner-brief-section h5 {
  margin: 0 0 0.25rem;
  color: var(--ink);
}

.planner-brief-section ul {
  margin: 0;
  padding-left: 1.15rem;
}

.planner-brief-section li {
  margin: 0.2rem 0;
}

.planner-source-list {
  display: grid;
  gap: 0.35rem;
}

.planner-source-row,
.planner-saved-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem;
  flex-wrap: wrap;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(7, 12, 26, 0.32);
  padding: 0.4rem 0.5rem;
}

.planner-brief-actions,
.planner-saved-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.65rem;
}

.planner-saved {
  margin-top: 1rem;
  border-top: 1px solid var(--line);
  padding-top: 0.7rem;
}

.planner-saved-list {
  display: grid;
  gap: 0.4rem;
  margin-top: 0.5rem;
}

.evidence-landscape {
  margin: 1rem 0;
  border-top: 1px solid var(--line);
  padding-top: 0.85rem;
}

.evidence-landscape h3,
.evidence-landscape h4 {
  margin: 0;
}

.landscape-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: 0.65rem;
}

.landscape-card {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(21, 33, 62, 0.42);
  padding: 0.65rem;
}

.landscape-bars {
  display: grid;
  gap: 0.4rem;
  margin-top: 0.55rem;
}

.landscape-row {
  display: grid;
  grid-template-columns: minmax(5.5rem, 0.75fr) minmax(0, 1.6fr) auto;
  align-items: center;
  gap: 0.45rem;
  width: 100%;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--ink);
  padding: 0.3rem 0.35rem;
  text-align: left;
}

button.landscape-row {
  cursor: pointer;
}

button.landscape-row:hover,
button.landscape-row:focus-visible {
  border-color: var(--accent);
  background: rgba(76, 201, 240, 0.08);
}

.landscape-label {
  color: var(--muted);
  font-size: 0.82rem;
}

.landscape-track {
  display: block;
  height: 0.5rem;
  overflow: hidden;
  border-radius: 999px;
  background: #202a42;
}

.landscape-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent), var(--accent-strong));
}

.landscape-count {
  min-width: 3.2rem;
  color: var(--ink);
  font-size: 0.78rem;
  text-align: right;
}

.frontier-item .tag {
  vertical-align: middle;
}

.btn-mini {
  border: 1px solid var(--line);
  background: var(--panel);
  color: var(--ink);
  border-radius: 999px;
  padding: 0.4rem 0.72rem;
  font-size: 0.9rem;
  margin-top: 0.6rem;
  cursor: pointer;
}

.btn-mini:hover {
  border-color: var(--accent);
}

.entry-actions,
.topic-personalization-actions,
.learning-topic-actions,
.learning-dashboard-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.entry-actions .btn-mini,
.topic-personalization-actions .btn-mini {
  margin-top: 0;
}

.topic-read-status {
  margin: 0.45rem 0 0;
  font-size: 0.82rem;
}

.learning-dashboard {
  margin-top: 1rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(7, 12, 26, 0.5);
  padding: 0.8rem;
}

.learning-dashboard-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
}

.learning-dashboard-head p {
  margin: 0.25rem 0 0;
}

.progress-track {
  height: 0.55rem;
  margin: 0.8rem 0 0.4rem;
  overflow: hidden;
  border-radius: 999px;
  background: #202a42;
}

.progress-track span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent), var(--accent-strong));
  transition: width 180ms ease;
}

.learning-dashboard-actions .btn-mini {
  margin-top: 0;
}

.saved-topic-queue {
  margin-top: 0.8rem;
  border-top: 1px solid var(--line);
  padding-top: 0.7rem;
}

.saved-topic-queue h3 {
  margin: 0;
  font-size: 1rem;
}

.saved-topic-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.55rem;
}

.saved-topic-button {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel-soft);
  color: var(--accent);
  padding: 0.4rem 0.65rem;
  cursor: pointer;
}

.saved-topic-button:hover {
  border-color: var(--accent);
  color: var(--accent-strong);
}

.tiles {
  margin-top: 0.9rem;
  display: grid;
  gap: 0.7rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.learning-grid {
  margin-top: 0.9rem;
  display: grid;
  gap: 0.8rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.learning-stage {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-soft);
  padding: 0.85rem;
}

.learning-stage-number {
  color: var(--accent-strong);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.learning-stage h3 {
  margin: 0.25rem 0 0.4rem;
}

.learning-stage > p {
  margin-top: 0;
}

.learning-topic-list {
  display: grid;
  gap: 0.35rem;
  margin-top: 0.7rem;
}

.learning-topic-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  border-top: 1px solid var(--line);
  padding-top: 0.4rem;
  color: #d4ddf7;
}

.learning-topic-row.is-complete {
  border-color: #3f7e73;
  background: rgba(63, 126, 115, 0.08);
}

.learning-topic-copy {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.learning-topic-state {
  color: var(--muted);
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.learning-topic-row.is-complete .learning-topic-state {
  color: #95f0dd;
}

.learning-topic-actions {
  justify-content: flex-end;
  flex-shrink: 0;
}

.learning-topic-row .btn-mini {
  margin-top: 0;
  padding: 0.25rem 0.55rem;
}

.learning-check {
  margin-top: 0.8rem;
  border-top: 1px solid var(--line);
  padding-top: 0.7rem;
}

.learning-check h4 {
  margin: 0 0 0.35rem;
}

.learning-check > p {
  margin: 0 0 0.55rem;
}

.learning-check-options {
  display: grid;
  gap: 0.4rem;
}

.learning-check-option {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: transparent;
  color: var(--ink);
  padding: 0.5rem 0.6rem;
  text-align: left;
  cursor: pointer;
}

.learning-check-option:hover,
.learning-check-option.is-selected {
  border-color: var(--accent);
}

.learning-check-option.is-correct {
  border-color: #3f7e73;
  background: rgba(63, 126, 115, 0.12);
}

.learning-check-option.is-incorrect {
  border-color: #775d29;
  background: rgba(119, 93, 41, 0.12);
}

.learning-check-feedback {
  margin: 0.55rem 0 0;
}

.learning-check-feedback.is-correct {
  color: #95f0dd;
}

.learning-check-feedback.is-incorrect {
  color: var(--warning);
}

.comparison-controls {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.55rem;
  margin-top: 0.8rem;
}

.comparison-controls select,
.comparison-controls button {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
  color: var(--ink);
  padding: 0.65rem;
}

.comparison-controls button {
  cursor: pointer;
}

.comparison-controls button:hover,
.comparison-controls button:focus-visible {
  border-color: var(--accent);
}

.comparison-output {
  margin-top: 0.8rem;
}

.comparison-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem;
}

.comparison-card,
.comparison-insight {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-soft);
  padding: 0.8rem;
}

.comparison-card h3,
.comparison-insight h3 {
  margin: 0 0 0.55rem;
}

.comparison-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.4rem;
  margin-bottom: 0.7rem;
}

.comparison-metric {
  display: grid;
  gap: 0.1rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0.45rem;
}

.comparison-metric strong {
  color: var(--ink);
  font-size: 0.9rem;
}

.comparison-card .comparison-metric + .comparison-metric {
  margin-top: 0;
}

.comparison-card .comparison-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.65rem;
}

.comparison-card .btn-mini {
  margin-top: 0;
}

.comparison-insight {
  margin-top: 0.7rem;
  border-color: #3f587c;
  background: rgba(21, 33, 62, 0.65);
}

.topic-assessment {
  margin-top: 1rem;
  border-top: 1px solid var(--line);
  padding-top: 0.75rem;
}

.topic-assessment-score {
  margin: 0.35rem 0 0.6rem;
}

.topic-assessment-question {
  margin-top: 0.65rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(21, 33, 62, 0.44);
  padding: 0.65rem;
}

.topic-assessment-question h5 {
  margin: 0 0 0.45rem;
  color: var(--ink);
}

.topic-assessment-options {
  display: grid;
  gap: 0.35rem;
}

.topic-assessment-option {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: transparent;
  color: var(--ink);
  padding: 0.5rem 0.6rem;
  text-align: left;
  cursor: pointer;
}

.topic-assessment-option:hover,
.topic-assessment-option.is-selected {
  border-color: var(--accent);
}

.topic-assessment-option.is-correct {
  border-color: #3f7e73;
  background: rgba(63, 126, 115, 0.12);
}

.topic-assessment-option.is-incorrect {
  border-color: #775d29;
  background: rgba(119, 93, 41, 0.12);
}

.topic-assessment-feedback {
  margin: 0.45rem 0 0;
}

.topic-assessment-feedback.is-correct {
  color: #95f0dd;
}

.topic-assessment-feedback.is-incorrect {
  color: var(--warning);
}

.topic-personalization {
  margin: 0.75rem 0 0.5rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel-soft);
  padding: 0.7rem;
}

.topic-personalization-status {
  margin: 0 0 0.55rem;
}

.topic-personalization-actions .btn-mini {
  padding: 0.35rem 0.6rem;
}

.related-topics {
  margin-top: 1rem;
  border-top: 1px solid var(--line);
  padding-top: 0.75rem;
}

.related-topics h4 {
  margin-top: 0;
}

.related-topic-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.related-topic-button {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel-soft);
  color: var(--accent);
  padding: 0.4rem 0.65rem;
  cursor: pointer;
}

.related-topic-button:hover {
  border-color: var(--accent);
  color: var(--accent-strong);
}

.tile {
  border: 1px solid var(--line);
  background: var(--panel-soft);
  border-radius: 12px;
  padding: 0.75rem;
}

footer {
  border-top: 1px solid var(--line);
  padding: 1.2rem;
  color: var(--muted);
  text-align: center;
}

.deep-dive-modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 20;
  padding: 1.25rem;
}

.deep-dive-modal.open {
  display: flex;
}

.deep-dive-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 6, 18, 0.85);
}

.deep-dive-panel {
  position: relative;
  width: min(920px, 100%);
  max-height: 84vh;
  overflow-y: auto;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: var(--panel);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5);
  padding: 1rem;
}

.deep-dive-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.deep-dive-header h2 {
  margin: 0;
}

.deep-dive-header button {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel-soft);
  color: var(--ink);
  padding: 0.45rem 0.8rem;
}

.dossier-nav {
  position: sticky;
  top: -1rem;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0.8rem -0.2rem 0;
  padding: 0.45rem 0.2rem;
  background: rgba(15, 21, 40, 0.96);
  border-bottom: 1px solid var(--line);
}

.dossier-nav button {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel-soft);
  color: var(--muted);
  padding: 0.35rem 0.6rem;
  cursor: pointer;
}

.dossier-nav button:hover,
.dossier-nav button:focus-visible {
  border-color: var(--accent);
  color: var(--accent-strong);
}

.dossier-section {
  margin-top: 1rem;
  border-top: 1px solid var(--line);
  padding-top: 0.75rem;
  scroll-margin-top: 3.5rem;
}

.dossier-section > h4 {
  margin: 0 0 0.45rem;
  color: var(--ink);
}

.dossier-overview {
  border-top: 0;
  padding-top: 0.2rem;
}

.dossier-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.5rem;
}

.dossier-stat {
  display: grid;
  gap: 0.15rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel-soft);
  padding: 0.55rem;
}

.dossier-stat strong {
  color: var(--ink);
  font-size: 0.95rem;
}

.claim-ledger-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: 0.65rem;
}

.claim-ledger-card {
  display: grid;
  align-content: start;
  gap: 0.35rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-soft);
  padding: 0.7rem;
}

.claim-ledger-card h5 {
  margin: 0;
  color: var(--ink);
  font-size: 0.88rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.claim-ledger-card p {
  margin: 0;
}

.claim-ledger-signal {
  border-top: 3px solid var(--accent-strong);
}

.claim-ledger-boundary {
  border-top: 3px solid #e6b65c;
}

.claim-ledger-not-established {
  border-top: 3px solid #e47d87;
}

.claim-ledger-sources,
.citation-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.35rem;
}

.citation-chip {
  text-align: left;
}

.citation-label {
  font-size: 0.78rem;
}

.source-audit-line {
  margin: 0.25rem 0;
  font-size: 0.82rem;
}

.evidence-timeline {
  position: relative;
  display: grid;
  gap: 0.65rem;
  margin-top: 0.65rem;
}

.evidence-timeline::before {
  content: "";
  position: absolute;
  top: 0.35rem;
  bottom: 0.35rem;
  left: 3.6rem;
  width: 1px;
  background: var(--line);
}

.evidence-timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: 1.2rem;
  align-items: start;
}

.evidence-timeline-date {
  position: relative;
  z-index: 1;
  border: 1px solid var(--accent);
  border-radius: 999px;
  background: var(--panel);
  color: var(--accent-strong);
  padding: 0.2rem 0.35rem;
  text-align: center;
  font-size: 0.78rem;
  font-weight: 700;
}

.evidence-timeline-item h5 {
  margin: 0;
  color: var(--ink);
}

.evidence-timeline-item p {
  margin: 0.25rem 0;
}

.editorial-history-list {
  display: grid;
  gap: 0.55rem;
}

.editorial-history-item {
  border-left: 3px solid var(--accent-strong);
  border-radius: 0 8px 8px 0;
  background: rgba(21, 33, 62, 0.5);
  padding: 0.55rem 0.7rem;
}

.editorial-history-item p {
  margin: 0.15rem 0;
}

.editorial-history-meta {
  color: var(--accent-strong);
  font-weight: 700;
}

.deep-dive-source {
  scroll-margin-top: 3.5rem;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.deep-dive-source.is-focus {
  border-color: var(--accent-strong);
  box-shadow: 0 0 0 2px rgba(94, 230, 176, 0.18);
}

.source-topic-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin: 0.55rem 0;
}

.source-topic-links .btn-mini {
  margin-top: 0;
}

#deep-dive-body h3 {
  margin-top: 1rem;
  margin-bottom: 0.4rem;
}

#deep-dive-body p,
#deep-dive-body li {
  color: var(--muted);
}

.protocol-scaffold {
  margin-top: 1rem;
  border: 1px solid #3f587c;
  border-radius: 12px;
  background: rgba(21, 33, 62, 0.72);
  padding: 0.8rem;
}

.mechanism-map {
  margin: 1rem 0;
  border: 1px solid #38516c;
  border-radius: 12px;
  background: rgba(11, 22, 39, 0.78);
  padding: 0.8rem;
}

.mechanism-map > h4 {
  margin-top: 0;
}

.mechanism-note {
  margin-top: -0.2rem;
}

.mechanism-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 0.45rem;
  align-items: stretch;
}

.mechanism-node {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel-soft);
  padding: 0.65rem;
}

.mechanism-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 50%;
  background: rgba(76, 201, 240, 0.18);
  color: var(--accent-strong);
  font-size: 0.8rem;
  font-weight: 700;
}

.mechanism-node h5 {
  margin: 0.45rem 0 0.2rem;
  color: var(--ink);
}

.mechanism-node p {
  margin: 0;
  font-size: 0.9rem;
}

.mechanism-arrow {
  display: flex;
  align-items: center;
  color: var(--accent);
  font-size: 1.25rem;
}

.editorial-flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  margin-top: 1rem;
  padding: 0.75rem;
  border: 1px dashed #3f587c;
  border-radius: 10px;
  color: var(--accent-strong);
  font-weight: 700;
}

.editorial-flow b {
  color: var(--muted);
}

.editorial-template {
  margin-top: 1rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-soft);
  padding: 0.8rem;
}

.editorial-template .section-head h3 {
  margin: 0;
}

.editorial-template pre {
  white-space: pre-wrap;
  margin: 0.7rem 0 0.3rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  color: #d4ddf7;
  padding: 0.75rem;
  font: inherit;
  font-size: 0.9rem;
}

.protocol-scaffold > h4 {
  margin-top: 0;
}

.protocol-scaffold a {
  color: var(--accent);
}

.glossary-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1.25rem;
}

.deep-dive-source-list {
  display: grid;
  gap: 0.65rem;
}

.deep-dive-source {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel-soft);
  padding: 0.7rem;
}

.deep-dive-source h5 {
  margin: 0;
  color: var(--ink);
  font-size: 1rem;
}

.deep-dive-source p {
  margin: 0.35rem 0;
}

.deep-dive-source a {
  color: var(--accent);
}

#source-list .frontier-item {
  position: relative;
  padding-left: 1.15rem;
}

#source-list .frontier-item::before {
  content: "•";
  position: absolute;
  left: 0.5rem;
  top: 0.95rem;
  color: var(--accent);
}

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

@media (max-width: 860px) {
  .menu {
    display: none;
  }

  .menu.open {
    display: flex;
    width: 100%;
    padding-top: 0.6rem;
  }

  #menu-toggle {
    display: inline-block;
  }

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

  .research-routes {
    grid-template-columns: 1fr;
  }

  .pulse-controls {
    grid-template-columns: 1fr;
  }

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

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

  .research-desk-controls {
    grid-template-columns: 1fr 1fr;
  }

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

  .comparison-controls {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .comparison-controls button {
    grid-column: 1 / -1;
  }

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

  .dossier-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .claim-ledger-grid {
    grid-template-columns: 1fr;
  }

  .editorial-draft-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .workspace-health {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .protocol-lab-controls {
    grid-template-columns: 1fr 1fr;
  }

  .protocol-lab-controls button {
    width: 100%;
  }

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

  .learning-topic-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .learning-topic-actions {
    justify-content: flex-start;
  }

  .mechanism-flow {
    grid-template-columns: 1fr;
  }

  .mechanism-arrow {
    justify-content: center;
    transform: rotate(90deg);
  }

  .meta {
    margin-left: 0;
    margin-top: 0.25rem;
  }
}

@media (max-width: 520px) {
  .research-route-grid {
    grid-template-columns: 1fr;
  }

  .research-desk-controls {
    grid-template-columns: 1fr;
  }

  .editorial-queue-controls {
    grid-template-columns: 1fr;
  }

  .comparison-metrics {
    grid-template-columns: 1fr;
  }

  .dossier-stat-grid {
    grid-template-columns: 1fr;
  }

  .claim-ledger-card {
    padding: 0.6rem;
  }

  .editorial-draft-fields,
  .editorial-draft-fields-wide {
    grid-template-columns: 1fr;
  }

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

  .protocol-lab-controls,
  .planner-brief-stats {
    grid-template-columns: 1fr;
  }

  .editorial-draft-library-actions {
    width: 100%;
  }

  .editorial-draft-library-actions select {
    flex: 1 1 100%;
  }

  .evidence-timeline-item {
    grid-template-columns: 2.6rem minmax(0, 1fr);
    gap: 0.8rem;
  }

  .evidence-timeline::before {
    left: 3.15rem;
  }
}
