.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 30px;
  padding: 4px 6px;
  background: transparent;
  color: #fff;
  border: 1px solid #ffffff90;
  border-radius: 4px;
  cursor: pointer;
  flex-shrink: 0;
}
.theme-toggle:focus-visible {
  outline: 2px solid white;
  outline-offset: 3px;
}
.titleband > .theme-tools {
  position: absolute;
  top: 14px;
  right: max(20px, calc((100% - 1250px) / 2));
  z-index: 2;
  display: flex;
  gap: 3px;
}
.titleband .brand {
  padding-right: 120px;
}
.titleband > div:first-child {
  min-width: 0;
}
.titleband .languagebar .theme-toggle {
  background: transparent;
  color: white;
  border-color: #ffffff90;
}
@media (max-width: 550px) {
  .titleband > .theme-tools {
    right: 14px;
    top: 12px;
  }
}
@media screen and (forced-colors: none) {
  html[data-theme="black"] {
    color-scheme: dark;
    background: #000;
    --ink: #f2f6fc;
    --muted: #b4c2d3;
    --line: #526174;
    --paper: #000;
  }
  html[data-theme="black"] body,
  html[data-theme="black"] main,
  html[data-theme="black"] header,
  html[data-theme="black"] .brandrow,
  html[data-theme="black"] .panel,
  html[data-theme="black"] .surface,
  html[data-theme="black"] .mapbox,
  html[data-theme="black"] .mapdirectory,
  html[data-theme="black"] .card,
  html[data-theme="black"] .filters,
  html[data-theme="black"] dialog,
  html[data-theme="black"] .dialoghead,
  html[data-theme="black"] .dialogbody,
  html[data-theme="black"] .companygallery,
  html[data-theme="black"] details.orientation,
  html[data-theme="black"] .nav,
  html[data-theme="black"] .languagebar {
    background: #000;
    color: #f2f6fc;
    border-color: #526174;
  }
  html[data-theme="black"] .titleband {
    background: #1565a7;
    color: #fff;
  }
  html[data-theme="black"] .brandrow img {
    background: transparent;
    border-radius: 0;
    padding: 0;
  }
  html[data-theme="black"] .brand {
    color: #fff;
  }
  html[data-theme="black"] h1,
  html[data-theme="black"] h2,
  html[data-theme="black"] h3,
  html[data-theme="black"] .namebtn,
  html[data-theme="black"] .meetpitch p,
  html[data-theme="black"] .details h3,
  html[data-theme="black"] .map-pan-controls {
    color: #f2f6fc;
  }
  html[data-theme="black"] a,
  html[data-theme="black"] .eyebrow,
  html[data-theme="black"] footer .kmv-legal a,
  html[data-theme="black"] footer .kmv-cache-reset,
  html[data-theme="black"] .map-skip,
  html[data-theme="black"] .kmv-offline-actions a {
    color: #8fcdff;
  }
  html[data-theme="black"] .muted,
  html[data-theme="black"] .location,
  html[data-theme="black"] .savehint,
  html[data-theme="black"] .legend,
  html[data-theme="black"] .mapitem small,
  html[data-theme="black"] .result small,
  html[data-theme="black"] .count,
  html[data-theme="black"] .maptoolbar span,
  html[data-theme="black"] .mapfoot,
  html[data-theme="black"] .memorynote,
  html[data-theme="black"] .hint,
  html[data-theme="black"] .empty,
  html[data-theme="black"] .details p,
  html[data-theme="black"] footer,
  html[data-theme="black"] .gallerygrid figcaption,
  html[data-theme="black"] .mapgestures-hint,
  html[data-theme="black"] .kmv-offline-help,
  html[data-theme="black"] .kmv-cache-status,
  html[data-theme="black"] footer .kmv-app-version,
  html[data-theme="black"] .translation-note {
    color: #b4c2d3;
  }
  html[data-theme="black"] button,
  html[data-theme="black"] .button,
  html[data-theme="black"] .iconbtn,
  html[data-theme="black"] .action,
  html[data-theme="black"] .filter,
  html[data-theme="black"] .tab,
  html[data-theme="black"] .star,
  html[data-theme="black"] .navbtn,
  html[data-theme="black"] .map-pan-controls button,
  html[data-theme="black"] .kmv-offline button,
  html[data-theme="black"] .lang button {
    background: #000;
    color: #f2f6fc;
    border-color: #788ba3;
  }
  html[data-theme="black"] .primary,
  html[data-theme="black"] .navbtn[aria-current="page"] {
    background: #1565a7;
    border-color: #8fcdff;
    color: white;
  }
  html[data-theme="black"] .button[aria-pressed="true"],
  html[data-theme="black"] .star[aria-pressed="true"],
  html[data-theme="black"] .filter[aria-pressed="true"],
  html[data-theme="black"] .tab[aria-pressed="true"] {
    background: #000;
    color: #ffad63;
    border-color: #ff9d42;
  }
  html[data-theme="black"] .titleband .languagebar [aria-pressed="true"] {
    background: white;
    border-color: white;
    color: #155b95;
  }
  html[data-theme="black"] .titleband .languagebar .button,
  html[data-theme="black"] .titleband .theme-toggle {
    color: white;
    background: transparent;
    border-color: #ffffff90;
  }
  html[data-theme="black"] .titleband .languagebar .button[aria-pressed="true"] {
    background: #fff;
    color: #155b95;
  }
  html[data-theme="black"] .search,
  html[data-theme="black"] .searchbar,
  html[data-theme="black"] .search input,
  html[data-theme="black"] .searchbar input,
  html[data-theme="black"] input,
  html[data-theme="black"] select,
  html[data-theme="black"] textarea,
  html[data-theme="black"] .notes {
    background: #000;
    color: #f2f6fc;
    border-color: #788ba3;
  }
  html[data-theme="black"] input::placeholder,
  html[data-theme="black"] textarea::placeholder {
    color: #a6b7cb;
    opacity: 1;
  }
  html[data-theme="black"] input {
    accent-color: #ff9d42;
  }
  html[data-theme="black"] .mapitem,
  html[data-theme="black"] .result,
  html[data-theme="black"] .maptoolbar,
  html[data-theme="black"] .details,
  html[data-theme="black"] .notice,
  html[data-theme="black"] .meetpitch,
  html[data-theme="black"] .tag,
  html[data-theme="black"] .standtag,
  html[data-theme="black"] .meetbadge,
  html[data-theme="black"] .eventstrip,
  html[data-theme="black"] .kmv-eventstrip,
  html[data-theme="black"] .kmv-offline {
    background: #000;
    color: #f2f6fc;
    border-color: #526174;
  }
  html[data-theme="black"] .tag,
  html[data-theme="black"] .standtag,
  html[data-theme="black"] .meetbadge {
    border: 1px solid #526174;
    color: #b8dcff;
  }
  html[data-theme="black"] .mapitem.selected,
  html[data-theme="black"] .result[aria-pressed="true"] {
    background: #000;
    color: white;
    box-shadow: inset 3px 0 #ff9d42;
    outline: 1px solid #ff9d42;
    outline-offset: -1px;
  }
  html[data-theme="black"] .mapitem:hover,
  html[data-theme="black"] .result:hover {
    background: #000;
    outline: 1px solid #8fcdff;
    outline-offset: -1px;
  }
  html[data-theme="black"] .viewport,
  html[data-theme="black"] .canvas {
    background: #000;
  }
  html[data-theme="black"] .gallerygrid img,
  html[data-theme="black"] .gallerygrid a,
  html[data-theme="black"] #overview {
    background: #fff;
    border-radius: 4px;
  }
  html[data-theme="black"] .progress {
    background: #000;
    border: 1px solid #788ba3;
  }
  html[data-theme="black"] .progress div {
    background: #ff9d42;
  }
  html[data-theme="black"] .toast {
    background: #1565a7;
    color: white;
    border: 1px solid #8fcdff;
  }
  html[data-theme="black"] dialog::backdrop {
    background: #000c;
  }
  html[data-theme="black"] .skip-link {
    background: #000;
    color: #8fcdff;
    border-color: #8fcdff;
  }
  html[data-theme="black"] button:focus-visible,
  html[data-theme="black"] a:focus-visible,
  html[data-theme="black"] input:focus-visible,
  html[data-theme="black"] select:focus-visible,
  html[data-theme="black"] textarea:focus-visible,
  html[data-theme="black"] summary:focus-visible,
  html[data-theme="black"] main h2:focus-visible {
    outline-color: #8fcdff;
  }
  html[data-theme="black"] .search:focus-within,
  html[data-theme="black"] .searchbar:focus-within {
    outline-color: #8fcdff;
  }
  html[data-theme="black"] .titleband .theme-toggle:focus-visible,
  html[data-theme="black"] .titleband .languagebar .button:focus-visible {
    outline-color: white;
  }
}
@media print {
  html {
    color-scheme: light !important;
    background: #fff !important;
  }
  [data-theme-toggle] {
    display: none !important;
  }
}

@media print {
  body {
    background: #fff !important;
    color: #000 !important;
  }
}

/* Compact, borderless appearance and language controls. */
.titleband .languagebar,
.titleband > .theme-tools {
  gap: 4px;
  align-items: center;
}
.titleband .languagebar .button,
.titleband .theme-toggle {
  border: 0 !important;
  border-radius: 6px;
  box-shadow: none;
  min-width: 32px;
  min-height: 32px;
  background: transparent !important;
  color: #fff !important;
}
.titleband .languagebar .button[aria-pressed="true"] {
  background: #fff !important;
  color: #155b95 !important;
}
.titleband .languagebar .button:hover,
.titleband .theme-toggle:hover {
  background: #ffffff24 !important;
}
.titleband .languagebar .button[aria-pressed="true"]:hover {
  background: #fff !important;
}
@media screen and (forced-colors: none) {
  html[data-theme="black"] .company-logo {
    background: transparent;
    border-radius: 0;
    padding: 0;
    gap: 12px;
  }
  html[data-theme="black"] .company-logo img {
    box-sizing: border-box;
    background: #fff;
    border-radius: 4px;
    padding: 8px;
    max-width: min(100%, 250px);
  }
  html[data-theme="black"] .company-logo img[data-dark-surface="clear"] {
    background: transparent;
    padding: 0;
    border-radius: 0;
  }
  html[data-theme="black"] .multiple-logos img {
    max-width: 46%;
  }
}

.titleband .languagebar {
  background: transparent !important;
}

/* Black canvas with KMV blue/orange surfaces and clear state colours. */
@media screen and (forced-colors: none) {
  html[data-theme="black"] {
    --night-blue: #0b2943;
    --night-blue-line: #3478aa;
    --night-orange: #ffad5c;
  }
  html[data-theme="black"] .button,
  html[data-theme="black"] .action,
  html[data-theme="black"] .iconbtn,
  html[data-theme="black"] .filter,
  html[data-theme="black"] .tab,
  html[data-theme="black"] .navbtn,
  html[data-theme="black"] .map-pan-controls button,
  html[data-theme="black"] .kmv-offline button {
    background: #0b2943;
    color: #d6ecff;
    border-color: #3478aa;
  }
  html[data-theme="black"] .button:hover,
  html[data-theme="black"] .action:hover,
  html[data-theme="black"] .iconbtn:hover,
  html[data-theme="black"] .filter:hover,
  html[data-theme="black"] .tab:hover,
  html[data-theme="black"] .navbtn:hover,
  html[data-theme="black"] .map-pan-controls button:hover {
    background: #123e61;
    border-color: #8fcdff;
  }
  html[data-theme="black"] .primary,
  html[data-theme="black"] .navbtn[aria-current="page"] {
    background: #1565a7;
    color: #fff;
    border-color: #8fcdff;
  }
  html[data-theme="black"] .primary:hover,
  html[data-theme="black"] .navbtn[aria-current="page"]:hover {
    background: #1b70b5;
  }
  html[data-theme="black"] .button[aria-pressed="true"],
  html[data-theme="black"] .filter[aria-pressed="true"],
  html[data-theme="black"] .tab[aria-pressed="true"],
  html[data-theme="black"] .star[aria-pressed="true"] {
    background: #ffad5c;
    color: #17120d;
    border-color: #ffad5c;
  }
  html[data-theme="black"] .star {
    background: #0b2943;
    color: #ffbc76;
    border-color: #3478aa;
  }
  html[data-theme="black"] .tag {
    background: #0b2943;
    color: #d0e9ff;
    border-color: #285d84;
  }
  html[data-theme="black"] .standtag {
    background: #216ca6;
    color: #fff;
    border-color: #4a97cf;
  }
  html[data-theme="black"] .standtag[data-room="Z"] {
    background: #f47d20;
    color: #132640;
    border-color: #ffad5c;
  }
  html[data-theme="black"] .standtag[data-room="V"] {
    background: #213661;
    color: #f2f6fc;
    border-color: #7290c2;
  }
  html[data-theme="black"] .meetbadge {
    background: #4b2708;
    color: #ffcf9e;
    border-color: #c8803e;
  }
  html[data-theme="black"] .meetbadge:hover {
    background: #6a3509;
    color: #ffe4c8;
  }
  html[data-theme="black"] .meetpitch {
    background: #261707;
    border-color: #ffad5c;
    border-left-color: #f47d20;
  }
  html[data-theme="black"] .meetpitch h3 {
    color: #ffbc76;
  }
  html[data-theme="black"] .meetpitch .primary {
    background: #f47d20;
    color: #132640;
    border-color: #ffad5c;
  }
  html[data-theme="black"] .filters {
    border-color: #3478aa;
  }
  html[data-theme="black"] .filters summary {
    background: #0b2943;
    color: #d6ecff;
    padding: 10px 12px;
    border-radius: 4px;
  }
  html[data-theme="black"] .filtergroup {
    border-color: #285d84;
  }
  html[data-theme="black"] .filtergroup legend {
    color: #8fcdff;
  }
  html[data-theme="black"] .filterchoices label {
    border-radius: 4px;
    padding: 4px 7px;
  }
  html[data-theme="black"] .filterchoices label:has(input:checked),
  html[data-theme="black"] .checks label:has(input:checked) {
    background: #0b2943;
    color: #d6ecff;
    box-shadow: inset 3px 0 #ffad5c;
    border-radius: 4px;
  }
  html[data-theme="black"] .checks label {
    padding: 4px 8px;
  }
  html[data-theme="black"] .filterchoices input,
  html[data-theme="black"] .checks input {
    accent-color: #ffad5c;
  }
  html[data-theme="black"] .mapitem.selected,
  html[data-theme="black"] .result[aria-pressed="true"] {
    background: #0b2943;
    box-shadow: inset 3px 0 #ffad5c;
    outline-color: #ffad5c;
  }
  html[data-theme="black"] .mapitem:hover,
  html[data-theme="black"] .result:hover {
    background: #071c30;
  }
  html[data-theme="black"] .mapitem.selected:hover,
  html[data-theme="black"] .result[aria-pressed="true"]:hover {
    background: #123e61;
  }
  html[data-theme="black"] .maptoolbar {
    background: #071c30;
    border-color: #285d84;
  }
  html[data-theme="black"] .notice,
  html[data-theme="black"] .eventstrip,
  html[data-theme="black"] .kmv-eventstrip,
  html[data-theme="black"] .kmv-offline {
    background: #071c30;
    border-color: #285d84;
    color: #d0e9ff;
  }
  html[data-theme="black"] .kmv-offline {
    border-left-color: #f47d20;
  }
  html[data-theme="black"] .kmv-offline-title {
    color: #8fcdff;
  }
  html[data-theme="black"] .progress {
    background: #0b2943;
    border-color: #285d84;
  }
  html[data-theme="black"] .progress div {
    background: #f47d20;
  }
  html[data-theme="black"] .kmv-offline progress {
    accent-color: #f47d20;
  }
  html[data-theme="black"] .dialoghead {
    border-bottom-color: #3478aa;
  }
}

.map-image-black {
  display: none;
}
@media screen and (forced-colors: none) {
  html[data-theme="black"] .map-image-light {
    display: none;
  }
  html[data-theme="black"] .map-image-black {
    display: block;
  }
  html[data-theme="black"] .stand.selected rect {
    fill: #ffb34755;
    stroke: #ffad5c;
    stroke-width: 2.5;
    stroke-dasharray: none;
  }
  html[data-theme="black"] .stand.match rect {
    fill: #ffb34730;
    stroke: #ffad5c;
  }
  html[data-theme="black"] .stand.saved rect {
    stroke: #ffad5c;
  }
  html[data-theme="black"] .stand:hover rect,
  html[data-theme="black"] .stand:focus rect {
    fill: #8fcdff35;
    stroke: #8fcdff;
  }
  html[data-theme="black"] .stand.selected:hover rect,
  html[data-theme="black"] .stand.selected:focus rect {
    fill: #ffb34755;
    stroke: #ffad5c;
  }
}

@media screen and (forced-colors: none) {
  html[data-theme="black"] .empty {
    background: #071c30;
    color: #d0e9ff;
    border: 1px dashed #3478aa;
  }
  html[data-theme="black"] .empty h3 {
    color: #f2f6fc;
  }
}
@media screen and (forced-colors: none) {
  html[data-theme="light"] {
    color-scheme: light;
  }
}
