/* DARK theme: flat concept-art variant. Layout stays in interrogation-layout.css. */
:root[data-theme="dark"] {
  --interrogation-html-bg: #01050b;
  --interrogation-html-text: #c9d3df;
  --interrogation-wrap-bg: #01050b;
  --interrogation-canvas-bg: #01050b;
  --interrogation-canvas-shadow: none;

  --c-bg: #01050b;
  --c-panel: #030812;
  --c-panel2: #050b16;
  --c-panel3: #07101d;
  --c-card: #050b15;
  --c-line: #101d31;
  --c-line2: #1b3558;
  --c-text: #c9d3df;
  --c-muted: #718096;
  --c-dim: #46546a;
  --c-cyan: #2bb2e8;
  --c-blue: #376ea6;
  --c-red: #ff2b4c;
  --c-yellow: #e2a82f;
  --c-orange: #e16f35;
  --c-purple: #9b55e8;
  --c-green: #42b883;
  --c-white: #e4edf6;
  --c-black: #01050b;

  --panel-border: rgba(38, 62, 96, 0.58);
  --panel-glow: transparent;
  --danger-glow: transparent;
  --theme-accent: var(--c-cyan);
  --theme-accent-2: var(--c-blue);
  --theme-bg-flat: #01050b;
  --theme-panel-flat: #030812;
  --theme-panel-soft: #050b16;
  --theme-border: rgba(38, 62, 96, 0.56);
  --theme-border-strong: rgba(72, 114, 165, 0.72);
  --theme-glow: transparent;
  --theme-grid: transparent;
  --theme-scroll: rgba(52, 96, 140, 0.72);
  --theme-scroll-track: #02060d;
  --theme-hidden-node: rgba(70, 84, 106, 0.42);
  --theme-red-glow: transparent;
  --theme-yellow-glow: transparent;
  --theme-purple-glow: transparent;
}

html[data-theme="dark"],
:root[data-theme="dark"] body,
:root[data-theme="dark"] .interrogation-app,
:root[data-theme="dark"] #wrap {
  background: #01050b !important;
  color: var(--c-text) !important;
}

:root[data-theme="dark"] .topbar,
:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .modal-card,
:root[data-theme="dark"] .toast-error,
:root[data-theme="dark"] .map-header-panel,
:root[data-theme="dark"] .map-chat-overlay,
:root[data-theme="dark"] .topbar__actions-panel,
:root[data-theme="dark"] .status-block,
:root[data-theme="dark"] .status-bucket,
:root[data-theme="dark"] .action-builder,
:root[data-theme="dark"] .action-slot--empty,
:root[data-theme="dark"] .selected-strip,
:root[data-theme="dark"] .section-title,
:root[data-theme="dark"] .empty-state {
  background: #030812 !important;
  border-color: rgba(38, 62, 96, 0.56) !important;
  box-shadow: none !important;
}

:root[data-theme="dark"] .topbar:not(.topbar--collapsed),
:root[data-theme="dark"] .dossier-panel:not(.dossier-panel--collapsed),
:root[data-theme="dark"] .status-panel:not(.status-panel--collapsed),
:root[data-theme="dark"] .tabs-panel,
:root[data-theme="dark"] .map-header-panel--full .topbar,
:root[data-theme="dark"] .full-map-stage__action .action-builder:not(.action-builder--collapsed) {
  border-color: rgba(28, 47, 76, 0.70) !important;
  box-shadow: none !important;
}

:root[data-theme="dark"] .panel__head,
:root[data-theme="dark"] .tab-row,
:root[data-theme="dark"] .action-strip,
:root[data-theme="dark"] .selected-strip,
:root[data-theme="dark"] .status-block,
:root[data-theme="dark"] .status-bucket,
:root[data-theme="dark"] .section-title,
:root[data-theme="dark"] .empty-state,
:root[data-theme="dark"] .action-slot--empty,
:root[data-theme="dark"] .topbar__meta,
:root[data-theme="dark"] .case-meta {
  background: #02060d !important;
  border-color: rgba(31, 54, 88, 0.52) !important;
  box-shadow: none !important;
}

:root[data-theme="dark"] .app-title,
:root[data-theme="dark"] .app-dept,
:root[data-theme="dark"] .chat-scene__loc,
:root[data-theme="dark"] .map-zoom-label,
:root[data-theme="dark"] .app-version-badge {
  color: #7f9fca !important;
  text-shadow: none !important;
}

:root[data-theme="dark"] .panel__title,
:root[data-theme="dark"] .action-builder__label,
:root[data-theme="dark"] .status-block__title,
:root[data-theme="dark"] .status-bucket__head,
:root[data-theme="dark"] .map-node__type,
:root[data-theme="dark"] .card__type {
  color: #d6364d !important;
  text-shadow: none !important;
}

:root[data-theme="dark"] .case-title,
:root[data-theme="dark"] .chat-scene__name,
:root[data-theme="dark"] .card__title,
:root[data-theme="dark"] .protocol-card__name {
  color: var(--c-white) !important;
  text-shadow: none !important;
}

:root[data-theme="dark"] .panel__subtle,
:root[data-theme="dark"] .card__body,
:root[data-theme="dark"] .protocol-card__desc,
:root[data-theme="dark"] .chat-bubble__text,
:root[data-theme="dark"] .stat-row,
:root[data-theme="dark"] .case-meta,
:root[data-theme="dark"] .empty-state {
  color: var(--c-muted) !important;
}

:root[data-theme="dark"] .ui-btn,
:root[data-theme="dark"] .tab-btn,
:root[data-theme="dark"] .icon-btn,
:root[data-theme="dark"] .topbar-tab,
:root[data-theme="dark"] .panel-collapse-rail,
:root[data-theme="dark"] .panel-collapse-btn,
:root[data-theme="dark"] .topbar__collapse,
:root[data-theme="dark"] .topbar__gear,
:root[data-theme="dark"] .map-tools--overlay,
:root[data-theme="dark"] .map-zoom-btn {
  color: #5faad4 !important;
  border-color: rgba(49, 82, 128, 0.62) !important;
  background: #050b16 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

:root[data-theme="dark"] .ui-btn:hover,
:root[data-theme="dark"] .tab-btn:hover,
:root[data-theme="dark"] .icon-btn:hover,
:root[data-theme="dark"] .topbar-tab:hover,
:root[data-theme="dark"] .panel-collapse-rail:hover,
:root[data-theme="dark"] .panel-collapse-btn:hover,
:root[data-theme="dark"] .topbar__collapse:hover,
:root[data-theme="dark"] .topbar__gear:hover,
:root[data-theme="dark"] .map-zoom-btn:hover,
:root[data-theme="dark"] .ui-btn:focus-visible,
:root[data-theme="dark"] .tab-btn:focus-visible,
:root[data-theme="dark"] .icon-btn:focus-visible,
:root[data-theme="dark"] .topbar-tab:focus-visible,
:root[data-theme="dark"] .panel-collapse-rail:focus-visible,
:root[data-theme="dark"] .panel-collapse-btn:focus-visible,
:root[data-theme="dark"] .topbar__collapse:focus-visible,
:root[data-theme="dark"] .topbar__gear:focus-visible,
:root[data-theme="dark"] .map-zoom-btn:focus-visible {
  color: #d6e6f5 !important;
  border-color: rgba(87, 132, 184, 0.80) !important;
  background: #07101d !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

:root[data-theme="dark"] .tab-btn--active,
:root[data-theme="dark"] .ui-btn--active:not(.topbar__gear) {
  color: #e4edf6 !important;
  border-color: rgba(91, 150, 205, 0.86) !important;
  background: #081421 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

:root[data-theme="dark"] .ui-btn--danger,
:root[data-theme="dark"] .verdict-btn,
:root[data-theme="dark"] .status-verdict-bar .ui-btn {
  color: var(--c-red) !important;
  border-color: rgba(210, 38, 66, 0.72) !important;
  background: #12060b !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

:root[data-theme="dark"] .ui-btn--danger:hover,
:root[data-theme="dark"] .verdict-btn:hover,
:root[data-theme="dark"] .status-verdict-bar .ui-btn:hover,
:root[data-theme="dark"] .ui-btn--danger:focus-visible,
:root[data-theme="dark"] .verdict-btn:focus-visible,
:root[data-theme="dark"] .status-verdict-bar .ui-btn:focus-visible {
  color: var(--c-white) !important;
  border-color: rgba(255, 55, 88, 0.88) !important;
  background: #1a0710 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

:root[data-theme="dark"] .ui-btn--danger:hover .ui-icon,
:root[data-theme="dark"] .verdict-btn:hover .ui-icon,
:root[data-theme="dark"] .status-verdict-bar .ui-btn:hover .ui-icon,
:root[data-theme="dark"] .ui-btn--danger:focus-visible .ui-icon,
:root[data-theme="dark"] .verdict-btn:focus-visible .ui-icon,
:root[data-theme="dark"] .status-verdict-bar .ui-btn:focus-visible .ui-icon {
  color: var(--c-white) !important;
}

:root[data-theme="dark"] .ui-btn--purple:not(.ui-btn--danger),
:root[data-theme="dark"] .action-style-btn {
  color: var(--c-purple) !important;
  border-color: rgba(118, 79, 170, 0.66) !important;
}

:root[data-theme="dark"] .ui-btn--warning {
  color: var(--c-yellow) !important;
  border-color: rgba(185, 134, 43, 0.68) !important;
}

:root[data-theme="dark"] .ui-btn--ok {
  color: var(--c-green) !important;
  border-color: rgba(61, 154, 116, 0.66) !important;
}

:root[data-theme="dark"] .chat-scene,
:root[data-theme="dark"] .map-view,
:root[data-theme="dark"] .case-graph {
  border-color: rgba(38, 62, 96, 0.50) !important;
  background-color: #02060d !important;
  box-shadow: none !important;
}

:root[data-theme="dark"] .chat-scene__shade {
  background: rgba(1, 5, 11, 0.36) !important;
}

:root[data-theme="dark"] .chat-bubble,
:root[data-theme="dark"] .chat-bubble--system,
:root[data-theme="dark"] .chat-bubble--interrogator,
:root[data-theme="dark"] .chat-bubble--you,
:root[data-theme="dark"] .chat-bubble--player,
:root[data-theme="dark"] .chat-bubble--apparatus {
  border-color: rgba(42, 70, 108, 0.58) !important;
  background: #050b16 !important;
  box-shadow: none !important;
}

:root[data-theme="dark"] .chat-bubble--suspect {
  border-color: rgba(118, 79, 170, 0.54) !important;
  background: #0b0815 !important;
}

:root[data-theme="dark"] .chat-bubble--interrogator,
:root[data-theme="dark"] .chat-bubble--you,
:root[data-theme="dark"] .chat-bubble--player {
  border-color: rgba(56, 112, 160, 0.62) !important;
  background: #05101a !important;
}

:root[data-theme="dark"] .chat-bubble__who {
  color: #5faad4 !important;
  text-shadow: none !important;
}

:root[data-theme="dark"] .progressbar {
  background: #030812 !important;
  border-color: rgba(35, 58, 92, 0.56) !important;
}

:root[data-theme="dark"] .top-meter__pip--on,
:root[data-theme="dark"] .progressbar__fill {
  box-shadow: none !important;
}

:root[data-theme="dark"] .card,
:root[data-theme="dark"] .map-node,
:root[data-theme="dark"] .protocol-card {
  background: #050b15 !important;
  border-color: color-mix(in srgb, var(--accent, var(--c-blue)) 38%, rgba(38, 62, 96, 0.44)) !important;
  box-shadow: none !important;
}

:root[data-theme="dark"] .card:hover,
:root[data-theme="dark"] .map-node:hover,
:root[data-theme="dark"] .card--selected {
  background: #07101d !important;
  border-color: color-mix(in srgb, var(--accent, var(--c-cyan)) 56%, rgba(87, 132, 184, 0.70)) !important;
  box-shadow: none !important;
}

:root[data-theme="dark"] .card--locked,
:root[data-theme="dark"] .map-node--hidden {
  background: #030812 !important;
  border-color: rgba(41, 55, 76, 0.46) !important;
  color: #536174 !important;
}

:root[data-theme="dark"] .map-edge,
:root[data-theme="dark"] .map-edge path,
:root[data-theme="dark"] .map-edge line {
  filter: none !important;
}

:root[data-theme="dark"] .ui-icon,
:root[data-theme="dark"] .panel-title-icon,
:root[data-theme="dark"] .inline-ui-icon {
  filter: none !important;
}

:root[data-theme="dark"] input,
:root[data-theme="dark"] textarea,
:root[data-theme="dark"] select,
:root[data-theme="dark"] .text-input,
:root[data-theme="dark"] .question-input {
  color: var(--c-text) !important;
  background: #02060d !important;
  border-color: rgba(42, 70, 108, 0.58) !important;
  box-shadow: none !important;
}

:root[data-theme="dark"] ::selection {
  background: rgba(76, 132, 187, 0.34);
  color: #f0f6ff;
}

:root[data-theme="dark"] * {
  scrollbar-color: rgba(52, 96, 140, 0.72) #02060d;
}

/* v100 DARK: even flatter and closer to the concept-art black UI, with very low-contrast frames. */
:root[data-theme="dark"] {
  --interrogation-html-bg: #00040a;
  --interrogation-wrap-bg: #00040a;
  --interrogation-canvas-bg: #00040a;
  --c-bg: #00040a;
  --c-panel: #01060d;
  --c-panel2: #020812;
  --c-panel3: #030b16;
  --c-card: #020812;
  --c-line: #08111d;
  --c-line2: #0d1a2b;
  --c-muted: #687789;
  --c-dim: #39475a;
  --theme-bg-flat: #00040a;
  --theme-panel-flat: #01060d;
  --theme-panel-soft: #020812;
  --panel-border: rgba(13, 26, 43, 0.66);
  --theme-border: rgba(13, 26, 43, 0.60);
  --theme-border-strong: rgba(25, 43, 66, 0.70);
  --theme-scroll: rgba(34, 58, 87, 0.58);
  --theme-scroll-track: #00040a;
}

:root[data-theme="dark"] .topbar,
:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .modal-card,
:root[data-theme="dark"] .toast-error,
:root[data-theme="dark"] .map-header-panel,
:root[data-theme="dark"] .map-chat-overlay,
:root[data-theme="dark"] .topbar__actions-panel,
:root[data-theme="dark"] .status-block,
:root[data-theme="dark"] .status-bucket,
:root[data-theme="dark"] .action-builder,
:root[data-theme="dark"] .action-slot--empty,
:root[data-theme="dark"] .selected-strip,
:root[data-theme="dark"] .section-title,
:root[data-theme="dark"] .empty-state,
:root[data-theme="dark"] .chat-scene,
:root[data-theme="dark"] .map-view,
:root[data-theme="dark"] .case-graph {
  background: #01060d !important;
  border-color: rgba(13, 26, 43, 0.58) !important;
  box-shadow: none !important;
}

:root[data-theme="dark"] .topbar:not(.topbar--collapsed),
:root[data-theme="dark"] .dossier-panel:not(.dossier-panel--collapsed),
:root[data-theme="dark"] .status-panel:not(.status-panel--collapsed),
:root[data-theme="dark"] .tabs-panel,
:root[data-theme="dark"] .map-header-panel--full .topbar,
:root[data-theme="dark"] .full-map-stage__action .action-builder:not(.action-builder--collapsed) {
  border-color: rgba(12, 24, 40, 0.64) !important;
  box-shadow: none !important;
}

:root[data-theme="dark"] .panel__head,
:root[data-theme="dark"] .tab-row,
:root[data-theme="dark"] .action-strip,
:root[data-theme="dark"] .selected-strip,
:root[data-theme="dark"] .status-block,
:root[data-theme="dark"] .status-bucket,
:root[data-theme="dark"] .section-title,
:root[data-theme="dark"] .empty-state,
:root[data-theme="dark"] .action-slot--empty,
:root[data-theme="dark"] .topbar__meta,
:root[data-theme="dark"] .case-meta {
  background: #00050b !important;
  border-color: rgba(10, 21, 35, 0.56) !important;
  box-shadow: none !important;
}

:root[data-theme="dark"] .ui-btn,
:root[data-theme="dark"] .tab-btn,
:root[data-theme="dark"] .icon-btn,
:root[data-theme="dark"] .topbar-tab,
:root[data-theme="dark"] .panel-collapse-rail,
:root[data-theme="dark"] .panel-collapse-btn,
:root[data-theme="dark"] .topbar__collapse,
:root[data-theme="dark"] .topbar__gear,
:root[data-theme="dark"] .map-tools--overlay,
:root[data-theme="dark"] .map-zoom-btn,
:root[data-theme="dark"] .dossier-filter-btn {
  background: #020812 !important;
  border-color: rgba(18, 38, 60, 0.64) !important;
  box-shadow: none !important;
}

:root[data-theme="dark"] .dossier-filter-btn {
  border-color: rgba(17, 36, 58, 0.70) !important;
}

:root[data-theme="dark"] .card,
:root[data-theme="dark"] .protocol-card,
:root[data-theme="dark"] .map-node,
:root[data-theme="dark"] .chat-bubble,
:root[data-theme="dark"] .chat-bubble--system,
:root[data-theme="dark"] .chat-bubble--interrogator,
:root[data-theme="dark"] .chat-bubble--you,
:root[data-theme="dark"] .chat-bubble--player,
:root[data-theme="dark"] .chat-bubble--apparatus {
  background: #020812 !important;
  border-color: rgba(14, 29, 47, 0.60) !important;
  box-shadow: none !important;
}

:root[data-theme="dark"] .card:hover,
:root[data-theme="dark"] .card:focus-visible,
:root[data-theme="dark"] .map-node:hover,
:root[data-theme="dark"] .map-node:focus-visible,
:root[data-theme="dark"] .ui-btn:hover,
:root[data-theme="dark"] .ui-btn:focus-visible,
:root[data-theme="dark"] .tab-btn:hover,
:root[data-theme="dark"] .tab-btn:focus-visible,
:root[data-theme="dark"] .icon-btn:hover,
:root[data-theme="dark"] .icon-btn:focus-visible,
:root[data-theme="dark"] .dossier-filter-btn:hover,
:root[data-theme="dark"] .dossier-filter-btn:focus-visible {
  background: #030b16 !important;
  border-color: rgba(30, 55, 82, 0.72) !important;
  box-shadow: none !important;
}

:root[data-theme="dark"] .card--selected,
:root[data-theme="dark"] .map-node--selected,
:root[data-theme="dark"] .ui-btn--active:not(.topbar__gear),
:root[data-theme="dark"] .tab-btn--active {
  border-color: rgba(114, 34, 52, 0.72) !important;
  box-shadow: none !important;
}

:root[data-theme="dark"] .ui-icon,
:root[data-theme="dark"] .panel-title-icon,
:root[data-theme="dark"] .inline-ui-icon {
  filter: none !important;
}

/* v101 DARK: lower-contrast borders to match the flatter black concept-art UI. */
:root[data-theme="dark"] .app-shell,
:root[data-theme="dark"] .interrogation-top,
:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .panel__head,
:root[data-theme="dark"] .panel__body,
:root[data-theme="dark"] .tab-row,
:root[data-theme="dark"] .action-strip,
:root[data-theme="dark"] .selected-strip,
:root[data-theme="dark"] .status-block,
:root[data-theme="dark"] .status-bucket,
:root[data-theme="dark"] .section-title,
:root[data-theme="dark"] .empty-state,
:root[data-theme="dark"] .action-slot--empty,
:root[data-theme="dark"] .topbar__meta,
:root[data-theme="dark"] .case-meta,
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .protocol-card,
:root[data-theme="dark"] .map-node,
:root[data-theme="dark"] .chat-bubble,
:root[data-theme="dark"] .chat-bubble--system,
:root[data-theme="dark"] .chat-bubble--interrogator,
:root[data-theme="dark"] .chat-bubble--you,
:root[data-theme="dark"] .chat-bubble--player,
:root[data-theme="dark"] .chat-bubble--apparatus,
:root[data-theme="dark"] .ui-btn,
:root[data-theme="dark"] .tab-btn,
:root[data-theme="dark"] .icon-btn,
:root[data-theme="dark"] .topbar-tab,
:root[data-theme="dark"] .panel-collapse-rail,
:root[data-theme="dark"] .panel-collapse-btn,
:root[data-theme="dark"] .topbar__collapse,
:root[data-theme="dark"] .topbar__gear,
:root[data-theme="dark"] .map-tools--overlay,
:root[data-theme="dark"] .map-zoom-btn,
:root[data-theme="dark"] .dossier-filter-btn {
  border-color: rgba(9, 22, 36, 0.50) !important;
}

:root[data-theme="dark"] .filter-row--icons.dossier-filter-rail .dossier-filter-btn:nth-child(3)::before {
  background: rgba(12, 26, 42, 0.72) !important;
}

:root[data-theme="dark"] .card:hover,
:root[data-theme="dark"] .card:focus-visible,
:root[data-theme="dark"] .map-node:hover,
:root[data-theme="dark"] .map-node:focus-visible,
:root[data-theme="dark"] .ui-btn:hover,
:root[data-theme="dark"] .ui-btn:focus-visible,
:root[data-theme="dark"] .tab-btn:hover,
:root[data-theme="dark"] .tab-btn:focus-visible,
:root[data-theme="dark"] .icon-btn:hover,
:root[data-theme="dark"] .icon-btn:focus-visible,
:root[data-theme="dark"] .dossier-filter-btn:hover,
:root[data-theme="dark"] .dossier-filter-btn:focus-visible {
  border-color: rgba(18, 36, 56, 0.66) !important;
}

:root[data-theme="dark"] .card--selected,
:root[data-theme="dark"] .map-node--selected,
:root[data-theme="dark"] .ui-btn--active:not(.topbar__gear),
:root[data-theme="dark"] .tab-btn--active {
  border-color: rgba(94, 29, 45, 0.72) !important;
}


/* v102 DARK: slightly clearer concept-art borders + selected elements use the verdict red lock-on color. */
:root[data-theme="dark"] {
  --c-line: #15243a;
  --c-line2: #23446b;
  --panel-border: rgba(27, 46, 72, 0.58);
  --theme-border: rgba(27, 46, 72, 0.58);
  --theme-border-strong: rgba(46, 78, 116, 0.72);
}

:root[data-theme="dark"] .app-shell,
:root[data-theme="dark"] .interrogation-top,
:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .panel__head,
:root[data-theme="dark"] .panel__body,
:root[data-theme="dark"] .tab-row,
:root[data-theme="dark"] .action-strip,
:root[data-theme="dark"] .selected-strip,
:root[data-theme="dark"] .status-block,
:root[data-theme="dark"] .status-bucket,
:root[data-theme="dark"] .section-title,
:root[data-theme="dark"] .empty-state,
:root[data-theme="dark"] .action-slot--empty,
:root[data-theme="dark"] .topbar__meta,
:root[data-theme="dark"] .case-meta,
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .protocol-card,
:root[data-theme="dark"] .map-node,
:root[data-theme="dark"] .chat-bubble,
:root[data-theme="dark"] .chat-bubble--system,
:root[data-theme="dark"] .chat-bubble--interrogator,
:root[data-theme="dark"] .chat-bubble--you,
:root[data-theme="dark"] .chat-bubble--player,
:root[data-theme="dark"] .chat-bubble--apparatus,
:root[data-theme="dark"] .ui-btn,
:root[data-theme="dark"] .tab-btn,
:root[data-theme="dark"] .icon-btn,
:root[data-theme="dark"] .topbar-tab,
:root[data-theme="dark"] .panel-collapse-rail,
:root[data-theme="dark"] .panel-collapse-btn,
:root[data-theme="dark"] .topbar__collapse,
:root[data-theme="dark"] .topbar__gear,
:root[data-theme="dark"] .map-tools--overlay,
:root[data-theme="dark"] .map-zoom-btn,
:root[data-theme="dark"] .dossier-filter-btn {
  border-color: rgba(18, 34, 54, 0.62) !important;
}

:root[data-theme="dark"] .topbar:not(.topbar--collapsed),
:root[data-theme="dark"] .dossier-panel:not(.dossier-panel--collapsed),
:root[data-theme="dark"] .status-panel:not(.status-panel--collapsed),
:root[data-theme="dark"] .tabs-panel,
:root[data-theme="dark"] .map-header-panel--full .topbar,
:root[data-theme="dark"] .full-map-stage__action .action-builder:not(.action-builder--collapsed) {
  border-color: rgba(22, 40, 64, 0.72) !important;
}

:root[data-theme="dark"] .card:hover,
:root[data-theme="dark"] .card:focus-visible,
:root[data-theme="dark"] .map-node:hover,
:root[data-theme="dark"] .map-node:focus-visible,
:root[data-theme="dark"] .ui-btn:hover,
:root[data-theme="dark"] .ui-btn:focus-visible,
:root[data-theme="dark"] .tab-btn:hover,
:root[data-theme="dark"] .tab-btn:focus-visible,
:root[data-theme="dark"] .icon-btn:hover,
:root[data-theme="dark"] .icon-btn:focus-visible,
:root[data-theme="dark"] .dossier-filter-btn:hover,
:root[data-theme="dark"] .dossier-filter-btn:focus-visible {
  border-color: rgba(38, 66, 98, 0.76) !important;
}

:root[data-theme="dark"] .card--selected,
:root[data-theme="dark"] .map-node--selected,
:root[data-theme="dark"] .protocol-card--selected,
:root[data-theme="dark"] .ui-btn--active:not(.topbar__gear),
:root[data-theme="dark"] .tab-btn--active,
:root[data-theme="dark"] .topbar-tab--active,
:root[data-theme="dark"] .dossier-filter-btn.ui-btn--active,
:root[data-theme="dark"] .filter-row--icons.dossier-filter-rail .dossier-filter-btn.ui-btn--active,
:root[data-theme="dark"] .filter-row--icons.dossier-filter-rail .ui-btn--icon-only.dossier-filter-btn.ui-btn--active {
  color: var(--c-red) !important;
  border-color: rgba(255, 43, 76, 0.92) !important;
  background: #12060b !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

:root[data-theme="dark"] .card--selected *,
:root[data-theme="dark"] .map-node--selected *,
:root[data-theme="dark"] .protocol-card--selected *,
:root[data-theme="dark"] .ui-btn--active:not(.topbar__gear) .ui-icon,
:root[data-theme="dark"] .tab-btn--active .ui-icon,
:root[data-theme="dark"] .topbar-tab--active .ui-icon,
:root[data-theme="dark"] .dossier-filter-btn.ui-btn--active .ui-icon {
  --accent: var(--c-red) !important;
}

:root[data-theme="dark"] .card--selected .card__type,
:root[data-theme="dark"] .card--selected .card__time,
:root[data-theme="dark"] .map-node--selected .map-node__type,
:root[data-theme="dark"] .ui-btn--active:not(.topbar__gear) .ui-icon,
:root[data-theme="dark"] .tab-btn--active .ui-icon,
:root[data-theme="dark"] .topbar-tab--active .ui-icon,
:root[data-theme="dark"] .dossier-filter-btn.ui-btn--active .ui-icon {
  color: var(--c-red) !important;
  stroke: var(--c-red) !important;
}

:root[data-theme="dark"] .card--selected:hover,
:root[data-theme="dark"] .card--selected:focus-visible,
:root[data-theme="dark"] .map-node--selected:hover,
:root[data-theme="dark"] .map-node--selected:focus-visible,
:root[data-theme="dark"] .ui-btn--active:not(.topbar__gear):hover,
:root[data-theme="dark"] .ui-btn--active:not(.topbar__gear):focus-visible,
:root[data-theme="dark"] .tab-btn--active:hover,
:root[data-theme="dark"] .tab-btn--active:focus-visible,
:root[data-theme="dark"] .dossier-filter-btn.ui-btn--active:hover,
:root[data-theme="dark"] .dossier-filter-btn.ui-btn--active:focus-visible {
  color: #ffdfe5 !important;
  border-color: rgba(255, 55, 88, 0.96) !important;
  background: #1a0710 !important;
}


/* v103 DARK: very slightly brighter borders, no dossier header divider, red selected state preserved. */
:root[data-theme="dark"] {
  --c-line: #1a2d46;
  --c-line2: #2c527c;
  --panel-border: rgba(26, 48, 74, 0.64);
  --theme-border: rgba(26, 48, 74, 0.64);
  --theme-border-strong: rgba(54, 88, 128, 0.76);
}

:root[data-theme="dark"] .app-shell,
:root[data-theme="dark"] .interrogation-top,
:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .panel__head,
:root[data-theme="dark"] .panel__body,
:root[data-theme="dark"] .tab-row,
:root[data-theme="dark"] .action-strip,
:root[data-theme="dark"] .selected-strip,
:root[data-theme="dark"] .status-block,
:root[data-theme="dark"] .status-bucket,
:root[data-theme="dark"] .section-title,
:root[data-theme="dark"] .empty-state,
:root[data-theme="dark"] .action-slot--empty,
:root[data-theme="dark"] .topbar__meta,
:root[data-theme="dark"] .case-meta,
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .protocol-card,
:root[data-theme="dark"] .map-node,
:root[data-theme="dark"] .chat-bubble,
:root[data-theme="dark"] .chat-bubble--system,
:root[data-theme="dark"] .chat-bubble--interrogator,
:root[data-theme="dark"] .chat-bubble--you,
:root[data-theme="dark"] .chat-bubble--player,
:root[data-theme="dark"] .chat-bubble--apparatus,
:root[data-theme="dark"] .ui-btn,
:root[data-theme="dark"] .tab-btn,
:root[data-theme="dark"] .icon-btn,
:root[data-theme="dark"] .topbar-tab,
:root[data-theme="dark"] .panel-collapse-rail,
:root[data-theme="dark"] .panel-collapse-btn,
:root[data-theme="dark"] .topbar__collapse,
:root[data-theme="dark"] .topbar__gear,
:root[data-theme="dark"] .map-tools--overlay,
:root[data-theme="dark"] .map-zoom-btn,
:root[data-theme="dark"] .dossier-filter-btn {
  border-color: rgba(24, 45, 70, 0.68) !important;
}

:root[data-theme="dark"] .topbar:not(.topbar--collapsed),
:root[data-theme="dark"] .dossier-panel:not(.dossier-panel--collapsed),
:root[data-theme="dark"] .status-panel:not(.status-panel--collapsed),
:root[data-theme="dark"] .tabs-panel,
:root[data-theme="dark"] .map-header-panel--full .topbar,
:root[data-theme="dark"] .full-map-stage__action .action-builder:not(.action-builder--collapsed) {
  border-color: rgba(28, 51, 79, 0.76) !important;
}

:root[data-theme="dark"] .panel__head,
:root[data-theme="dark"] .section-title,
:root[data-theme="dark"] .status-block,
:root[data-theme="dark"] .status-bucket,
:root[data-theme="dark"] .selected-strip,
:root[data-theme="dark"] .action-slot--empty {
  border-color: rgba(22, 41, 64, 0.64) !important;
}

:root[data-theme="dark"] .dossier-panel:not(.dossier-panel--collapsed) > .panel__head {
  border-bottom-color: transparent !important;
}

:root[data-theme="dark"] .card:hover,
:root[data-theme="dark"] .card:focus-visible,
:root[data-theme="dark"] .map-node:hover,
:root[data-theme="dark"] .map-node:focus-visible,
:root[data-theme="dark"] .ui-btn:hover,
:root[data-theme="dark"] .ui-btn:focus-visible,
:root[data-theme="dark"] .tab-btn:hover,
:root[data-theme="dark"] .tab-btn:focus-visible,
:root[data-theme="dark"] .icon-btn:hover,
:root[data-theme="dark"] .icon-btn:focus-visible,
:root[data-theme="dark"] .dossier-filter-btn:hover,
:root[data-theme="dark"] .dossier-filter-btn:focus-visible {
  border-color: rgba(45, 76, 111, 0.80) !important;
}

:root[data-theme="dark"] .card--selected,
:root[data-theme="dark"] .map-node--selected,
:root[data-theme="dark"] .protocol-card--selected,
:root[data-theme="dark"] .ui-btn--active:not(.topbar__gear),
:root[data-theme="dark"] .tab-btn--active,
:root[data-theme="dark"] .topbar-tab--active,
:root[data-theme="dark"] .dossier-filter-btn.ui-btn--active,
:root[data-theme="dark"] .filter-row--icons.dossier-filter-rail .dossier-filter-btn.ui-btn--active,
:root[data-theme="dark"] .filter-row--icons.dossier-filter-rail .ui-btn--icon-only.dossier-filter-btn.ui-btn--active {
  color: var(--c-red) !important;
  border-color: rgba(255, 43, 76, 0.92) !important;
  background: #12060b !important;
}

/* v104 DARK polish: slightly brighter borders, brighter chat copy, and typed icon colors. */
:root[data-theme="dark"] .topbar,
:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .modal-card,
:root[data-theme="dark"] .toast-error,
:root[data-theme="dark"] .status-block,
:root[data-theme="dark"] .protocol-card,
:root[data-theme="dark"] .empty-state,
:root[data-theme="dark"] .section-title,
:root[data-theme="dark"] .selected-strip,
:root[data-theme="dark"] .action-strip,
:root[data-theme="dark"] .action-builder,
:root[data-theme="dark"] .last-effect,
:root[data-theme="dark"] .metric-pill,
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .map-node,
:root[data-theme="dark"] .chat-bubble,
:root[data-theme="dark"] .ui-btn,
:root[data-theme="dark"] .tab-btn,
:root[data-theme="dark"] .icon-btn,
:root[data-theme="dark"] .topbar-tab,
:root[data-theme="dark"] .panel-collapse-rail,
:root[data-theme="dark"] .panel-collapse-btn,
:root[data-theme="dark"] .topbar__collapse,
:root[data-theme="dark"] .topbar__gear,
:root[data-theme="dark"] .map-tools--overlay,
:root[data-theme="dark"] .map-zoom-btn,
:root[data-theme="dark"] .dossier-filter-btn {
  border-color: rgba(39, 68, 101, 0.78) !important;
}

:root[data-theme="dark"] .topbar:not(.topbar--collapsed),
:root[data-theme="dark"] .dossier-panel:not(.dossier-panel--collapsed),
:root[data-theme="dark"] .status-panel:not(.status-panel--collapsed),
:root[data-theme="dark"] .tabs-panel,
:root[data-theme="dark"] .map-header-panel--full .topbar,
:root[data-theme="dark"] .full-map-stage__action .action-builder:not(.action-builder--collapsed) {
  border-color: rgba(44, 75, 112, 0.84) !important;
}

:root[data-theme="dark"] .panel__head,
:root[data-theme="dark"] .section-title,
:root[data-theme="dark"] .status-block,
:root[data-theme="dark"] .status-bucket,
:root[data-theme="dark"] .selected-strip,
:root[data-theme="dark"] .action-slot--empty {
  border-color: rgba(36, 62, 93, 0.78) !important;
}

:root[data-theme="dark"] .dossier-panel:not(.dossier-panel--collapsed) > .panel__head {
  border-bottom-color: transparent !important;
}

:root[data-theme="dark"] .chat-bubble__text,
:root[data-theme="dark"] .transcript .chat-bubble__text {
  color: #d8ecff !important;
}

:root[data-theme="dark"] .chat-bubble__who {
  color: #86c8ec !important;
}

:root[data-theme="dark"] .card__type-icon {
  color: var(--accent, var(--c-cyan)) !important;
  stroke: currentColor !important;
}

/* v105 DARK polish: clearer concept-art frames, neutral fact cards, red hover lock-on. */
:root[data-theme="dark"] {
  --c-line: #213856;
  --c-line2: #31577f;
  --panel-border: rgba(52, 86, 126, 0.82);
  --theme-border: rgba(52, 86, 126, 0.80);
  --theme-border-strong: rgba(72, 112, 158, 0.88);
  --fact-card-bg: #020812;
  --fact-card-bg-hover: #030b16;
  --fact-card-border: rgba(48, 82, 121, 0.82);
  --fact-card-border-hover: rgba(255, 43, 76, 0.96);
  --fact-card-selected-border: rgba(255, 43, 76, 0.96);
  --fact-card-hover-glow: rgba(255, 43, 76, 0.42);
}

:root[data-theme="dark"] .topbar,
:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .modal-card,
:root[data-theme="dark"] .toast-error,
:root[data-theme="dark"] .status-block,
:root[data-theme="dark"] .protocol-card,
:root[data-theme="dark"] .empty-state,
:root[data-theme="dark"] .section-title,
:root[data-theme="dark"] .selected-strip,
:root[data-theme="dark"] .action-strip,
:root[data-theme="dark"] .action-builder,
:root[data-theme="dark"] .last-effect,
:root[data-theme="dark"] .metric-pill,
:root[data-theme="dark"] .ui-btn,
:root[data-theme="dark"] .tab-btn,
:root[data-theme="dark"] .icon-btn,
:root[data-theme="dark"] .topbar-tab,
:root[data-theme="dark"] .panel-collapse-rail,
:root[data-theme="dark"] .panel-collapse-btn,
:root[data-theme="dark"] .topbar__collapse,
:root[data-theme="dark"] .topbar__gear,
:root[data-theme="dark"] .map-tools--overlay,
:root[data-theme="dark"] .map-zoom-btn,
:root[data-theme="dark"] .dossier-filter-btn {
  border-color: rgba(52, 86, 126, 0.82) !important;
}

:root[data-theme="dark"] .topbar:not(.topbar--collapsed),
:root[data-theme="dark"] .dossier-panel:not(.dossier-panel--collapsed),
:root[data-theme="dark"] .status-panel:not(.status-panel--collapsed),
:root[data-theme="dark"] .tabs-panel,
:root[data-theme="dark"] .map-header-panel--full .topbar,
:root[data-theme="dark"] .full-map-stage__action .action-builder:not(.action-builder--collapsed) {
  border-color: rgba(58, 96, 139, 0.88) !important;
}

:root[data-theme="dark"] .panel__head,
:root[data-theme="dark"] .section-title,
:root[data-theme="dark"] .status-block,
:root[data-theme="dark"] .status-bucket,
:root[data-theme="dark"] .selected-strip,
:root[data-theme="dark"] .action-slot--empty,
:root[data-theme="dark"] .chat-bubble {
  border-color: rgba(48, 82, 121, 0.80) !important;
}

:root[data-theme="dark"] .dossier-panel:not(.dossier-panel--collapsed) > .panel__head {
  border-bottom-color: transparent !important;
}

:root[data-theme="dark"] .card:not(.map-node) {
  background: var(--fact-card-bg) !important;
  border-color: var(--fact-card-border) !important;
  border-left-color: var(--fact-card-border) !important;
  box-shadow: none !important;
}

:root[data-theme="dark"] .card:not(.map-node):not(.card--selected):hover,
:root[data-theme="dark"] .card:not(.map-node):not(.card--selected):focus-visible {
  background: var(--fact-card-bg-hover) !important;
  border-color: var(--fact-card-border-hover) !important;
  border-left-color: var(--fact-card-border-hover) !important;
  box-shadow: 0 0 18px rgba(255, 43, 76, 0.42) !important;
}

:root[data-theme="dark"] .card:not(.map-node).card--selected,
:root[data-theme="dark"] .card:not(.map-node).card--selected:hover,
:root[data-theme="dark"] .card:not(.map-node).card--selected:focus-visible {
  background: var(--fact-card-bg) !important;
  border-color: var(--fact-card-selected-border) !important;
  border-left-color: var(--fact-card-selected-border) !important;
  box-shadow: none !important;
}

:root[data-theme="dark"] .card__type,
:root[data-theme="dark"] .card__type-label,
:root[data-theme="dark"] .card__fact-icon,
:root[data-theme="dark"] .card__type-icon,
:root[data-theme="dark"] .map-node__fact-icon {
  color: var(--accent, var(--c-cyan)) !important;
  stroke: currentColor !important;
}

:root[data-theme="dark"] .dossier-filter-btn[data-value="active"] .ui-icon,
:root[data-theme="dark"] .dossier-filter-btn[data-value="active"].ui-btn--active .ui-icon {
  color: #86c8ec !important;
}

:root[data-theme="dark"] .dossier-filter-btn[data-value="all"] .ui-icon,
:root[data-theme="dark"] .dossier-filter-btn[data-value="all"].ui-btn--active .ui-icon {
  color: #718096 !important;
}

/* v106 DARK: slightly brighter frames plus restored neon response on hover/meters. */
:root[data-theme="dark"] {
  --c-line: #274466;
  --c-line2: #3b6590;
  --panel-border: rgba(66, 103, 145, 0.88);
  --theme-border: rgba(66, 103, 145, 0.86);
  --theme-border-strong: rgba(88, 132, 178, 0.92);
  --fact-card-border: rgba(61, 98, 138, 0.88);
  --fact-card-border-hover: rgba(255, 43, 76, 0.98);
  --fact-card-selected-border: rgba(255, 43, 76, 0.98);
  --fact-card-hover-glow: rgba(255, 43, 76, 0.50);
  --theme-glow: rgba(43, 178, 232, 0.24);
  --theme-red-glow: rgba(255, 43, 76, 0.46);
  --theme-yellow-glow: rgba(226, 168, 47, 0.42);
  --theme-purple-glow: rgba(155, 85, 232, 0.38);
}

:root[data-theme="dark"] .topbar,
:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .modal-card,
:root[data-theme="dark"] .toast-error,
:root[data-theme="dark"] .status-block,
:root[data-theme="dark"] .protocol-card,
:root[data-theme="dark"] .empty-state,
:root[data-theme="dark"] .section-title,
:root[data-theme="dark"] .selected-strip,
:root[data-theme="dark"] .action-strip,
:root[data-theme="dark"] .action-builder,
:root[data-theme="dark"] .last-effect,
:root[data-theme="dark"] .metric-pill,
:root[data-theme="dark"] .ui-btn,
:root[data-theme="dark"] .tab-btn,
:root[data-theme="dark"] .icon-btn,
:root[data-theme="dark"] .topbar-tab,
:root[data-theme="dark"] .panel-collapse-rail,
:root[data-theme="dark"] .panel-collapse-btn,
:root[data-theme="dark"] .topbar__collapse,
:root[data-theme="dark"] .topbar__gear,
:root[data-theme="dark"] .map-tools--overlay,
:root[data-theme="dark"] .map-zoom-btn,
:root[data-theme="dark"] .dossier-filter-btn,
:root[data-theme="dark"] .chat-bubble,
:root[data-theme="dark"] .card:not(.map-node) {
  border-color: rgba(66, 103, 145, 0.88) !important;
}

:root[data-theme="dark"] .topbar:not(.topbar--collapsed),
:root[data-theme="dark"] .dossier-panel:not(.dossier-panel--collapsed),
:root[data-theme="dark"] .status-panel:not(.status-panel--collapsed),
:root[data-theme="dark"] .tabs-panel,
:root[data-theme="dark"] .map-header-panel--full .topbar,
:root[data-theme="dark"] .full-map-stage__action .action-builder:not(.action-builder--collapsed) {
  border-color: rgba(76, 118, 162, 0.92) !important;
}

:root[data-theme="dark"] .panel__head,
:root[data-theme="dark"] .section-title,
:root[data-theme="dark"] .status-block,
:root[data-theme="dark"] .status-bucket,
:root[data-theme="dark"] .selected-strip,
:root[data-theme="dark"] .action-slot--empty,
:root[data-theme="dark"] .chat-bubble {
  border-color: rgba(59, 95, 135, 0.86) !important;
}

:root[data-theme="dark"] .dossier-panel:not(.dossier-panel--collapsed) > .panel__head {
  border-bottom-color: transparent !important;
}

:root[data-theme="dark"] .card:not(.map-node):not(.card--selected):hover,
:root[data-theme="dark"] .card:not(.map-node):not(.card--selected):focus-visible {
  background: #030b16 !important;
  border-color: var(--c-red) !important;
  border-left-color: var(--c-red) !important;
  box-shadow: 0 0 18px var(--theme-red-glow), inset 0 0 16px rgba(255, 43, 76, 0.06) !important;
}

:root[data-theme="dark"] .card:not(.map-node).card--selected,
:root[data-theme="dark"] .card:not(.map-node).card--selected:hover,
:root[data-theme="dark"] .card:not(.map-node).card--selected:focus-visible,
:root[data-theme="dark"] .map-node--selected,
:root[data-theme="dark"] .map-node--selected:hover,
:root[data-theme="dark"] .map-node--selected:focus-visible {
  border-color: var(--c-red) !important;
  border-left-color: var(--c-red) !important;
  box-shadow: none !important;
}

:root[data-theme="dark"] .ui-btn:hover,
:root[data-theme="dark"] .ui-btn:focus-visible,
:root[data-theme="dark"] .tab-btn:hover,
:root[data-theme="dark"] .tab-btn:focus-visible,
:root[data-theme="dark"] .icon-btn:hover,
:root[data-theme="dark"] .icon-btn:focus-visible,
:root[data-theme="dark"] .topbar-tab:hover,
:root[data-theme="dark"] .topbar-tab:focus-visible,
:root[data-theme="dark"] .panel-collapse-rail:hover,
:root[data-theme="dark"] .panel-collapse-rail:focus-visible,
:root[data-theme="dark"] .panel-collapse-btn:hover,
:root[data-theme="dark"] .panel-collapse-btn:focus-visible,
:root[data-theme="dark"] .topbar__collapse:hover,
:root[data-theme="dark"] .topbar__collapse:focus-visible,
:root[data-theme="dark"] .topbar__gear:hover,
:root[data-theme="dark"] .topbar__gear:focus-visible,
:root[data-theme="dark"] .map-zoom-btn:hover,
:root[data-theme="dark"] .map-zoom-btn:focus-visible,
:root[data-theme="dark"] .dossier-filter-btn:hover,
:root[data-theme="dark"] .dossier-filter-btn:focus-visible {
  border-color: rgba(91, 156, 210, 0.92) !important;
  box-shadow: 0 0 14px var(--theme-glow), inset 0 0 12px rgba(43, 178, 232, 0.05) !important;
}

:root[data-theme="dark"] .ui-btn--danger:hover,
:root[data-theme="dark"] .ui-btn--danger:focus-visible,
:root[data-theme="dark"] .verdict-btn:hover,
:root[data-theme="dark"] .verdict-btn:focus-visible,
:root[data-theme="dark"] .status-verdict-bar .ui-btn:hover,
:root[data-theme="dark"] .status-verdict-bar .ui-btn:focus-visible,
:root[data-theme="dark"] .dossier-filter-btn.ui-btn--active:hover,
:root[data-theme="dark"] .dossier-filter-btn.ui-btn--active:focus-visible {
  border-color: var(--c-red) !important;
  box-shadow: 0 0 16px var(--theme-red-glow), inset 0 0 12px rgba(255, 43, 76, 0.06) !important;
}

:root[data-theme="dark"] .top-meter__pip--on,
:root[data-theme="dark"] .pip--on,
:root[data-theme="dark"] .progressbar__fill {
  box-shadow: 0 0 9px var(--accent, var(--c-yellow)), 0 0 18px color-mix(in srgb, var(--accent, var(--c-yellow)) 45%, transparent) !important;
}

:root[data-theme="dark"] .top-meter--segments .top-meter__segments,
:root[data-theme="dark"] .pip-row {
  box-shadow: 0 0 18px color-mix(in srgb, var(--accent, var(--c-yellow)) 18%, transparent) !important;
}

:root[data-theme="dark"] .card__type,
:root[data-theme="dark"] .card__type-label,
:root[data-theme="dark"] .card__fact-icon,
:root[data-theme="dark"] .map-node__type,
:root[data-theme="dark"] .map-node__fact-icon {
  color: var(--accent, var(--c-cyan)) !important;
  stroke: currentColor !important;
}

/* v107 DARK: preserve semantic fact colors on selection, red hover glow, and slightly brighter frames. */
:root[data-theme="dark"] {
  --c-line: #2d4d70;
  --c-line2: #416f9d;
  --panel-border: rgba(76, 116, 160, 0.92);
  --theme-border: rgba(76, 116, 160, 0.90);
  --theme-border-strong: rgba(98, 145, 190, 0.94);
  --fact-card-border: rgba(72, 112, 154, 0.92);
  --fact-card-border-hover: rgba(255, 43, 76, 0.98);
  --fact-card-selected-border: rgba(255, 43, 76, 0.98);
  --fact-card-hover-glow: rgba(255, 43, 76, 0.52);
  --fact-selected-glow: rgba(255, 43, 76, 0.52);
  --theme-glow: rgba(43, 178, 232, 0.26);
}

:root[data-theme="dark"] .topbar,
:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .modal-card,
:root[data-theme="dark"] .toast-error,
:root[data-theme="dark"] .status-block,
:root[data-theme="dark"] .protocol-card,
:root[data-theme="dark"] .empty-state,
:root[data-theme="dark"] .section-title,
:root[data-theme="dark"] .selected-strip,
:root[data-theme="dark"] .action-strip,
:root[data-theme="dark"] .action-builder,
:root[data-theme="dark"] .last-effect,
:root[data-theme="dark"] .metric-pill,
:root[data-theme="dark"] .ui-btn,
:root[data-theme="dark"] .tab-btn,
:root[data-theme="dark"] .icon-btn,
:root[data-theme="dark"] .topbar-tab,
:root[data-theme="dark"] .panel-collapse-rail,
:root[data-theme="dark"] .panel-collapse-btn,
:root[data-theme="dark"] .topbar__collapse,
:root[data-theme="dark"] .topbar__gear,
:root[data-theme="dark"] .map-tools--overlay,
:root[data-theme="dark"] .map-zoom-btn,
:root[data-theme="dark"] .dossier-filter-btn,
:root[data-theme="dark"] .chat-bubble,
:root[data-theme="dark"] .card:not(.map-node) {
  border-color: rgba(76, 116, 160, 0.92) !important;
}

:root[data-theme="dark"] .topbar:not(.topbar--collapsed),
:root[data-theme="dark"] .dossier-panel:not(.dossier-panel--collapsed),
:root[data-theme="dark"] .status-panel:not(.status-panel--collapsed),
:root[data-theme="dark"] .tabs-panel,
:root[data-theme="dark"] .map-header-panel--full .topbar,
:root[data-theme="dark"] .full-map-stage__action .action-builder:not(.action-builder--collapsed) {
  border-color: rgba(86, 130, 176, 0.94) !important;
}

:root[data-theme="dark"] .panel__head,
:root[data-theme="dark"] .section-title,
:root[data-theme="dark"] .status-block,
:root[data-theme="dark"] .status-bucket,
:root[data-theme="dark"] .selected-strip,
:root[data-theme="dark"] .action-slot--empty,
:root[data-theme="dark"] .chat-bubble {
  border-color: rgba(70, 109, 151, 0.90) !important;
}

:root[data-theme="dark"] .card.card--selected *,
:root[data-theme="dark"] .map-node.map-node--selected * {
  --accent: inherit !important;
}

:root[data-theme="dark"] .card.card--selected,
:root[data-theme="dark"] .card:not(.map-node).card--selected,
:root[data-theme="dark"] .map-node.map-node--selected {
  color: var(--c-text) !important;
  background: var(--fact-card-bg) !important;
  border-color: var(--c-red) !important;
  border-left-color: var(--c-red) !important;
}

:root[data-theme="dark"] .card.card--selected:not(:hover):not(:focus-visible),
:root[data-theme="dark"] .card:not(.map-node).card--selected:not(:hover):not(:focus-visible),
:root[data-theme="dark"] .map-node.map-node--selected:not(:hover):not(:focus-visible) {
  box-shadow: none !important;
}

:root[data-theme="dark"] .card.card--selected:hover,
:root[data-theme="dark"] .card.card--selected:focus-visible,
:root[data-theme="dark"] .card:not(.map-node).card--selected:hover,
:root[data-theme="dark"] .card:not(.map-node).card--selected:focus-visible,
:root[data-theme="dark"] .map-node.map-node--selected:hover,
:root[data-theme="dark"] .map-node.map-node--selected:focus-visible {
  border-color: var(--c-red) !important;
  border-left-color: var(--c-red) !important;
  box-shadow: 0 0 18px var(--fact-selected-glow), inset 0 0 14px rgba(255, 43, 76, 0.08) !important;
}

:root[data-theme="dark"] .card.card--selected .card__type,
:root[data-theme="dark"] .card.card--selected .card__type-label,
:root[data-theme="dark"] .card.card--selected .card__fact-icon,
:root[data-theme="dark"] .card.card--selected .card__type-icon,
:root[data-theme="dark"] .card.card--selected .card__tags,
:root[data-theme="dark"] .map-node.map-node--selected .map-node__type,
:root[data-theme="dark"] .map-node.map-node--selected .map-node__fact-icon {
  color: var(--accent, var(--c-cyan)) !important;
  stroke: currentColor !important;
}

:root[data-theme="dark"] .card.card--selected .card__title,
:root[data-theme="dark"] .map-node.map-node--selected .map-node__title {
  color: var(--c-white) !important;
}

:root[data-theme="dark"] .card.card--selected .card__body {
  color: var(--c-muted) !important;
}

:root[data-theme="dark"] .card:not(.map-node):not(.card--selected):hover,
:root[data-theme="dark"] .card:not(.map-node):not(.card--selected):focus-visible {
  background: var(--fact-card-bg-hover) !important;
  border-color: var(--c-red) !important;
  border-left-color: var(--c-red) !important;
  box-shadow: 0 0 18px var(--fact-card-hover-glow), inset 0 0 16px rgba(255, 43, 76, 0.06) !important;
}

:root[data-theme="dark"] .ui-btn:hover,
:root[data-theme="dark"] .ui-btn:focus-visible,
:root[data-theme="dark"] .tab-btn:hover,
:root[data-theme="dark"] .tab-btn:focus-visible,
:root[data-theme="dark"] .icon-btn:hover,
:root[data-theme="dark"] .icon-btn:focus-visible,
:root[data-theme="dark"] .topbar-tab:hover,
:root[data-theme="dark"] .topbar-tab:focus-visible,
:root[data-theme="dark"] .panel-collapse-rail:hover,
:root[data-theme="dark"] .panel-collapse-rail:focus-visible,
:root[data-theme="dark"] .panel-collapse-btn:hover,
:root[data-theme="dark"] .panel-collapse-btn:focus-visible,
:root[data-theme="dark"] .topbar__collapse:hover,
:root[data-theme="dark"] .topbar__collapse:focus-visible,
:root[data-theme="dark"] .topbar__gear:hover,
:root[data-theme="dark"] .topbar__gear:focus-visible,
:root[data-theme="dark"] .map-zoom-btn:hover,
:root[data-theme="dark"] .map-zoom-btn:focus-visible,
:root[data-theme="dark"] .dossier-filter-btn:hover,
:root[data-theme="dark"] .dossier-filter-btn:focus-visible {
  border-color: rgba(105, 174, 228, 0.94) !important;
  box-shadow: 0 0 14px var(--theme-glow), inset 0 0 12px rgba(43, 178, 232, 0.06) !important;
}

:root[data-theme="dark"] .top-meter__pip--on,
:root[data-theme="dark"] .pip--on,
:root[data-theme="dark"] .progressbar__fill,
:root[data-theme="dark"] .top-meter--bar .top-meter__fill {
  box-shadow: 0 0 9px var(--accent, var(--c-yellow)), 0 0 18px color-mix(in srgb, var(--accent, var(--c-yellow)) 48%, transparent) !important;
}

:root[data-theme="dark"] .top-meter__segments,
:root[data-theme="dark"] .pip-row,
:root[data-theme="dark"] .top-meter--bar .top-meter__track {
  box-shadow: 0 0 18px color-mix(in srgb, var(--accent, var(--c-yellow)) 20%, transparent) !important;
}

/* v108 DARK: quieter concept-art frames and blue header titles. */
:root[data-theme="dark"] {
  --c-line: #182a43;
  --c-line2: #274664;
  --panel-border: rgba(43, 70, 105, 0.62);
  --theme-border: rgba(43, 70, 105, 0.60);
  --theme-border-strong: rgba(62, 98, 138, 0.70);
  --fact-card-border: rgba(40, 68, 104, 0.62);
  --fact-card-border-hover: rgba(255, 43, 76, 0.98);
  --fact-card-selected-border: rgba(255, 43, 76, 0.98);
  --theme-glow: rgba(43, 178, 232, 0.22);
}

:root[data-theme="dark"] .topbar,
:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .modal-card,
:root[data-theme="dark"] .toast-error,
:root[data-theme="dark"] .status-block,
:root[data-theme="dark"] .protocol-card,
:root[data-theme="dark"] .empty-state,
:root[data-theme="dark"] .section-title,
:root[data-theme="dark"] .selected-strip,
:root[data-theme="dark"] .action-strip,
:root[data-theme="dark"] .action-builder,
:root[data-theme="dark"] .last-effect,
:root[data-theme="dark"] .metric-pill,
:root[data-theme="dark"] .ui-btn,
:root[data-theme="dark"] .tab-btn,
:root[data-theme="dark"] .icon-btn,
:root[data-theme="dark"] .topbar-tab,
:root[data-theme="dark"] .panel-collapse-rail,
:root[data-theme="dark"] .panel-collapse-btn,
:root[data-theme="dark"] .topbar__collapse,
:root[data-theme="dark"] .topbar__gear,
:root[data-theme="dark"] .map-tools--overlay,
:root[data-theme="dark"] .map-zoom-btn,
:root[data-theme="dark"] .dossier-filter-btn,
:root[data-theme="dark"] .chat-bubble,
:root[data-theme="dark"] .card:not(.map-node) {
  border-color: rgba(43, 70, 105, 0.62) !important;
}

:root[data-theme="dark"] .topbar:not(.topbar--collapsed),
:root[data-theme="dark"] .dossier-panel:not(.dossier-panel--collapsed),
:root[data-theme="dark"] .status-panel:not(.status-panel--collapsed),
:root[data-theme="dark"] .tabs-panel,
:root[data-theme="dark"] .map-header-panel--full .topbar,
:root[data-theme="dark"] .full-map-stage__action .action-builder:not(.action-builder--collapsed) {
  border-color: rgba(53, 84, 123, 0.68) !important;
}

:root[data-theme="dark"] .panel__head,
:root[data-theme="dark"] .section-title,
:root[data-theme="dark"] .status-block,
:root[data-theme="dark"] .status-bucket,
:root[data-theme="dark"] .selected-strip,
:root[data-theme="dark"] .action-slot--empty,
:root[data-theme="dark"] .chat-bubble {
  border-color: rgba(38, 64, 98, 0.58) !important;
}

:root[data-theme="dark"] .panel__title,
:root[data-theme="dark"] .panel-title-label,
:root[data-theme="dark"] .action-builder__label,
:root[data-theme="dark"] .status-block__title,
:root[data-theme="dark"] .status-bucket__head,
:root[data-theme="dark"] .section-title,
:root[data-theme="dark"] .section-title-label,
:root[data-theme="dark"] .status-title-label {
  color: #2bb2e8 !important;
  text-shadow: none !important;
}

:root[data-theme="dark"] .card__type,
:root[data-theme="dark"] .card__type-label,
:root[data-theme="dark"] .card__fact-icon,
:root[data-theme="dark"] .map-node__type,
:root[data-theme="dark"] .map-node__fact-icon {
  color: var(--accent, var(--c-cyan)) !important;
  stroke: currentColor !important;
}

:root[data-theme="dark"] .card.card--selected,
:root[data-theme="dark"] .card:not(.map-node).card--selected,
:root[data-theme="dark"] .map-node.map-node--selected {
  border-color: var(--c-red) !important;
  border-left-color: var(--c-red) !important;
}

/* v117: FULL MAP center column must be only a transparent control/action shell.
   Theme files load after the shared layout, so keep this final global override here
   to prevent the generic .panel/.tabs-panel skins from covering the map underlay. */
.layout--fullscreen-map > .tabs-panel.full-map-center,
.layout--fullscreen-map > .tabs-panel.full-map-center.panel,
.layout--fullscreen-map > .tabs-panel.full-map-center::before,
.layout--fullscreen-map > .tabs-panel.full-map-center::after,
.full-map-center,
.full-map-center__spacer {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.layout--fullscreen-map > .tabs-panel.full-map-center {
  pointer-events: none !important;
  isolation: auto !important;
}

.layout--fullscreen-map > .tabs-panel.full-map-center > .full-map-center__tools,
.layout--fullscreen-map > .tabs-panel.full-map-center > .map-chat-panel,
.layout--fullscreen-map > .tabs-panel.full-map-center > .action-builder,
.layout--fullscreen-map > .tabs-panel.full-map-center > .action-builder--collapsed {
  pointer-events: auto !important;
}

:root[data-theme="dark"] .action-builder .action-strip .ui-btn--action-ready:not(:disabled) {
  color: var(--c-red) !important;
  border-color: rgba(255, 55, 88, 0.82) !important;
  background: #16070e !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

:root[data-theme="dark"] .action-builder .action-strip .ui-btn--action-ready:not(:disabled) .ui-icon {
  color: var(--c-red) !important;
}

:root[data-theme="dark"] .action-builder .action-strip .ui-btn--action-ready:not(:disabled):hover,
:root[data-theme="dark"] .action-builder .action-strip .ui-btn--action-ready:not(:disabled):focus-visible {
  color: var(--c-white) !important;
  border-color: rgba(255, 55, 88, 0.95) !important;
  background: #1f0811 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

:root[data-theme="dark"] .action-builder .action-strip .ui-btn--action-ready:not(:disabled):hover .ui-icon,
:root[data-theme="dark"] .action-builder .action-strip .ui-btn--action-ready:not(:disabled):focus-visible .ui-icon {
  color: var(--c-white) !important;
}

:root[data-theme="dark"] :is(.ui-btn, .tab-btn, .icon-btn, .topbar-tab, .panel-collapse-rail, .panel-collapse-btn, .topbar__collapse, .topbar__gear, .map-zoom-btn, .dossier-filter-btn):not(:disabled):is(:hover, :focus-visible) {
  color: var(--c-white) !important;
}

:root[data-theme="dark"] :is(.ui-btn, .tab-btn, .icon-btn, .topbar-tab, .panel-collapse-rail, .panel-collapse-btn, .topbar__collapse, .topbar__gear, .map-zoom-btn, .dossier-filter-btn):not(:disabled):is(:hover, :focus-visible) .ui-icon {
  color: var(--c-white) !important;
}

:root[data-theme="dark"] :is(.ui-btn--active:not(.topbar__gear), .tab-btn--active, .topbar-tab--active, .dossier-filter-btn.ui-btn--active):not(:disabled):is(:hover, :focus-visible) .ui-icon {
  --accent: var(--c-white) !important;
  color: var(--c-white) !important;
  stroke: var(--c-white) !important;
}

:root[data-theme="dark"] .chat-bubble,
:root[data-theme="dark"] .chat-bubble--apparatus,
:root[data-theme="dark"] .chat-bubble--warning,
:root[data-theme="dark"] .chat-bubble--error,
:root[data-theme="dark"] .chat-bubble--breakthrough,
:root[data-theme="dark"] .chat-bubble--success,
:root[data-theme="dark"] .chat-bubble--noeffect {
  border-color: rgba(92, 148, 202, 0.58) !important;
  background: rgba(3, 10, 18, 0.80) !important;
}

:root[data-theme="dark"] .chat-bubble--system,
:root[data-theme="dark"] .chat-bubble--warning,
:root[data-theme="dark"] .chat-bubble--error,
:root[data-theme="dark"] .chat-bubble--breakthrough,
:root[data-theme="dark"] .chat-bubble--success,
:root[data-theme="dark"] .chat-bubble--noeffect {
  border-color: rgba(74, 128, 178, 0.56) !important;
  background: rgba(3, 10, 18, 0.80) !important;
}

:root[data-theme="dark"] .chat-bubble--interrogator,
:root[data-theme="dark"] .chat-bubble--you,
:root[data-theme="dark"] .chat-bubble--player {
  border-color: rgba(235, 244, 255, 0.78) !important;
  background: rgba(4, 16, 28, 0.80) !important;
}

:root[data-theme="dark"] .chat-bubble--apparatus {
  border-color: rgba(235, 244, 255, 0.72) !important;
  background: rgba(3, 10, 18, 0.80) !important;
}

:root[data-theme="dark"] .chat-bubble--suspect {
  border-color: rgba(255, 88, 108, 0.86) !important;
  background: rgba(22, 4, 12, 0.80) !important;
}

:root[data-theme="dark"] :is(.chat-bubble--system, .chat-bubble--warning, .chat-bubble--error, .chat-bubble--breakthrough, .chat-bubble--success, .chat-bubble--noeffect) .chat-bubble__who {
  color: rgba(112, 170, 218, 0.90) !important;
}

:root[data-theme="dark"] :is(.chat-bubble--interrogator, .chat-bubble--you, .chat-bubble--player, .chat-bubble--apparatus) .chat-bubble__who {
  color: rgba(235, 244, 255, 0.96) !important;
}

:root[data-theme="dark"] .chat-bubble--suspect .chat-bubble__who {
  color: rgba(255, 88, 108, 0.96) !important;
}

:root[data-theme="dark"] :is(
  .card__image:hover,
  .card__image:focus-visible,
  .card__image-fallback:hover,
  .card__image-fallback:focus-visible,
  .inline-evidence-card__image:hover,
  .inline-evidence-card__image:focus-visible,
  .inline-evidence img:hover,
  .inline-evidence img:focus-visible,
  .inline-evidence-card .card__image-fallback:hover,
  .inline-evidence-card .card__image-fallback:focus-visible,
  .gamepad-hover.card__image,
  .gamepad-hover.card__image-fallback,
  .inline-evidence-card__image.gamepad-hover,
  .inline-evidence img.gamepad-hover
) {
  border-color: var(--evidence-thumb-border-hover, rgba(244, 251, 255, 0.82)) !important;
  filter: none !important;
  box-shadow: none !important;
}

:root[data-theme="dark"] .modal-card--report .report-choice {
  background: transparent !important;
  box-shadow: none !important;
}

:root[data-theme="dark"] .modal-card--report .report-choice--human {
  color: #58f2a2 !important;
  border-color: rgba(88, 242, 162, 0.72) !important;
}

:root[data-theme="dark"] .modal-card--report .report-choice--android {
  color: #ff3357 !important;
  border-color: rgba(255, 51, 87, 0.72) !important;
}

:root[data-theme="dark"] .modal-card--report .report-choice .ui-icon {
  color: currentColor !important;
}

:root[data-theme="dark"] .modal-card--report .report-choice:not(:disabled):is(:hover, :focus-visible) {
  color: var(--c-white) !important;
  background: transparent !important;
}

:root[data-theme="dark"] .modal-card--report .report-choice:not(:disabled):is(:hover, :focus-visible) .ui-icon {
  color: var(--c-white) !important;
}

:root[data-theme="dark"] .modal-card--report .report-choice--human:not(:disabled):is(:hover, :focus-visible) {
  border-color: rgba(88, 242, 162, 0.90) !important;
  box-shadow: 0 0 18px rgba(88, 242, 162, 0.34), inset 0 0 16px rgba(88, 242, 162, 0.08) !important;
}

:root[data-theme="dark"] .modal-card--report .report-choice--android:not(:disabled):is(:hover, :focus-visible) {
  border-color: rgba(255, 51, 87, 0.90) !important;
  box-shadow: 0 0 18px rgba(255, 51, 87, 0.34), inset 0 0 16px rgba(255, 51, 87, 0.08) !important;
}
