
:root {
    /* Implementing an auto-selection of dark/light theme via: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/light-dark */
    color-scheme: light dark;

    /* PHPUnit light/dark colors */
    --phpunit-breadcrumbs: light-dark({{breadcrumbs}}, {{breadcrumbs-dark}});
    --phpunit-success-bar: light-dark({{success-bar}}, {{success-bar-dark}});
    --phpunit-success-high: light-dark({{success-high}}, {{success-high-dark}});
    --phpunit-success-medium: light-dark({{success-medium}}, {{success-medium-dark}});
    --phpunit-success-low: light-dark({{success-low}}, {{success-low-dark}});
    --phpunit-warning: light-dark({{warning}}, {{warning-dark}});
    --phpunit-warning-bar: light-dark({{warning-bar}}, {{warning-bar-dark}});
    --phpunit-danger: light-dark({{danger}}, {{danger-dark}});
    --phpunit-danger-bar: light-dark({{danger-bar}}, {{danger-bar-dark}});

    /* Bootstrap v5.3 default colors (light, dark) */
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-body-bg: light-dark(#fff, #212529);
    --bs-body-color-rgb: light-dark(33, 37, 41, 222, 226, 230);
    --bs-body-color: light-dark(#212529, #dee2e6);
    --bs-border-color-translucent: light-dark(rgba(0, 0, 0, 0.175), rgba(255, 255, 255, 0.15));
    --bs-border-color: light-dark(#dee2e6, #495057);
    --bs-code-color: light-dark(#d63384, #e685b5);
    --bs-danger-bg-subtle: light-dark(#f8d7da, #2c0b0e);
    --bs-danger-border-subtle: light-dark(#f1aeb5, #842029);
    --bs-danger-text-emphasis: light-dark(#58151c, #ea868f);
    --bs-dark-bg-subtle: light-dark(#ced4da, #1a1d20);
    --bs-dark-border-subtle: light-dark(#adb5bd, #343a40);
    --bs-dark-text-emphasis: light-dark(#495057, #dee2e6);
    --bs-emphasis-color-rgb: 0, 0, 0;
    --bs-emphasis-color: light-dark(#000, #fff);
    --bs-form-invalid-border-color: light-dark(#dc3545, #ea868f);
    --bs-form-invalid-color: light-dark(#dc3545, #ea868f);
    --bs-form-valid-border-color: light-dark(#198754, #75b798);
    --bs-form-valid-color: light-dark(#198754, #75b798);
    --bs-highlight-bg: light-dark(#fff3cd, #664d03);
    --bs-highlight-color: light-dark(#212529, #dee2e6);
    --bs-info-bg-subtle: light-dark(#cff4fc, #032830);
    --bs-info-border-subtle: light-dark(#9eeaf9, #087990);
    --bs-info-text-emphasis: light-dark(#055160, #6edff6);
    --bs-light-bg-subtle: light-dark(#fcfcfd, #343a40);
    --bs-light-border-subtle: light-dark(#e9ecef, #495057);
    --bs-light-text-emphasis: light-dark(#495057, #f8f9fa);
    --bs-link-color-rgb: 13, 110, 253;
    --bs-link-color: light-dark(#0d6efd, #6ea8fe);
    --bs-link-hover-color-rgb: 10, 88, 202;
    --bs-link-hover-color: light-dark(#0a58ca, #8bb9fe);
    --bs-primary-bg-subtle: light-dark(#cfe2ff, #031633);
    --bs-primary-border-subtle: light-dark(#9ec5fe, #084298);
    --bs-primary-text-emphasis: light-dark(#052c65, #6ea8fe);
    --bs-secondary-bg-rgb: 233, 236, 239;
    --bs-secondary-bg-subtle: light-dark(#e2e3e5, #161719);
    --bs-secondary-bg: light-dark(#e9ecef, #343a40);
    --bs-secondary-border-subtle: light-dark(#c4c8cb, #41464b);
    --bs-secondary-color-rgb: 33, 37, 41;
    --bs-secondary-color: light-dark(rgba(33, 37, 41, 0.75), rgba(222, 226, 230, 0.75));
    --bs-secondary-text-emphasis: light-dark(#2b2f32, #a7acb1);
    --bs-success-bg-subtle: light-dark(#d1e7dd, #051b11);
    --bs-success-border-subtle: light-dark(#a3cfbb, #0f5132);
    --bs-success-text-emphasis: light-dark(#0a3622, #75b798);
    --bs-tertiary-bg-rgb: light-dark(248, 249, 250, 43, 48, 53);
    --bs-tertiary-bg: light-dark(#f8f9fa, #2b3035);
    --bs-tertiary-color-rgb: 33, 37, 41;
    --bs-tertiary-color: light-dark(rgba(33, 37, 41, 0.5), rgba(222, 226, 230, 0.5));
    --bs-warning-bg-subtle: light-dark(#fff3cd, #332701);
    --bs-warning-border-subtle: light-dark(#ffe69c, #997404);
    --bs-warning-text-emphasis: light-dark(#664d03, #ffda6a);
}

@media (prefers-color-scheme: dark) {
 :root {
  --bs-body-bg-rgb: 33, 37, 41;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-link-color-rgb: 110, 168, 254;
  --bs-link-hover-color-rgb: 139, 185, 254;
  --bs-secondary-bg-rgb: 52, 58, 64;
  --bs-secondary-color-rgb: 222, 226, 230;
  --bs-tertiary-color-rgb: 222, 226, 230;
 }

 /* Invert icon's colors on dark mode to improve readability */
 img.octicon { filter: invert(1); }
}

body {
 font-family: sans-serif;
 font-size: 1em;
 font-kerning: normal;
 text-rendering: optimizeLegibility;
 padding-top: 10px;
}

nav .breadcrumb {
  border-radius: var(--bs-border-radius);
  background-color: var(--phpunit-breadcrumbs);
  padding: .75rem 1rem;
}

.popover {
 max-width: none;
}

.popover-body {
 max-height: 90vh;
 overflow-y: auto;
}

.octicon {
 margin-right:.25em;
 vertical-align: baseline;
 width: 0.75em;
}

.table-bordered>thead>tr>td {
 border-bottom-width: 1px;
}

.table tbody>tr>td, .table thead>tr>td {
 padding-top: 3px;
 padding-bottom: 3px;
}

.table-condensed tbody>tr>td {
 padding-top: 0;
 padding-bottom: 0;
}

.table .progress {
 margin-bottom: inherit;
}

.table-borderless th, .table-borderless td {
 border: 0 !important;
}

.table tbody tr.covered-by-large-tests, .table tbody tr.covered-by-large-tests td, li.covered-by-large-tests, tr.success, tr.success td, td.success, li.success, span.success {
 background-color: var(--phpunit-success-low);
}

.table tbody tr.covered-by-medium-tests, .table tbody tr.covered-by-medium-tests td, li.covered-by-medium-tests {
 background-color: var(--phpunit-success-medium);
}

.table tbody tr.covered-by-small-tests, .table tbody tr.covered-by-small-tests td, li.covered-by-small-tests {
 background-color: var(--phpunit-success-high);
}

.table tbody tr.warning, .table tbody tr.warning td, .table tbody td.warning, li.warning, span.warning {
 background-color: var(--phpunit-warning);
}

.table tbody tr.danger, .table tbody tr.danger td, .table tbody td.danger, li.danger, span.danger {
 background-color: var(--phpunit-danger);
}

.table tbody td.info {
 background-color: rgb(from var(--bs-info) r g b / 0.25);
}

td.big {
 vertical-align: middle;
 width: 117px;
}

td.small {
}

td.codeLine {
 font-family: "Source Code Pro", var(--bs-font-monospace);
 white-space: pre-wrap;
}

td span.comment {
 color: var(--bs-secondary-color);
}

td span.default {
 color: var(--bs-body-color);
}

td span.html {
 color: var(--bs-secondary-color);
}

td span.keyword {
 color: var(--bs-body-color);
 font-weight: bold;
}

pre span.string {
 color: var(--bs-body-color);
}

span.success, span.warning, span.danger {
 margin-right: 2px;
 padding-left: 10px;
 padding-right: 10px;
 text-align: center;
}

#toplink {
 position: fixed;
 left: 5px;
 bottom: 5px;
 outline: 0;
}

svg text {
 font-family: var(--bs-font-sans-serif);
 font-size: 11px;
 color: var(--bs-gray);
 fill: var(--bs-gray);
}

.scrollbox {
 height:245px;
 overflow-x:scroll;
 overflow-y:scroll;
}

table + .structure-heading {
 border-top: 1px solid var(--bs-gray-200);
 padding-top: 0.5em;
}

table#code tr {
  flex-wrap: nowrap;
}

table#code td:first-of-type {
  flex: 0 0 auto;
  width: auto;
  padding-left: .75em;
  padding-right: .75em;
}

table#code td.codeLine {
  flex: 1 1 auto;
  width: auto;
}

table#code td:first-of-type a {
  text-decoration: none;
}

.legend {
 font-weight: bold;
 margin-right: 2px;
 padding-left: 10px;
 padding-right: 10px;
 text-align: center;
}

.covered-by-small-tests {
 background-color: var(--phpunit-success-high);
}

.covered-by-medium-tests {
 background-color: var(--phpunit-success-medium);
}

.covered-by-large-tests {
 background-color: var(--phpunit-success-low);
}

.not-covered {
 background-color: var(--phpunit-danger);
}

.not-coverable {
 background-color: var(--phpunit-warning);
}

.progress-bar.bg-success {
 background-color: var(--phpunit-success-bar) !important;
}

.progress-bar.bg-warning {
 background-color: var(--phpunit-warning-bar) !important;
}

.progress-bar.bg-danger {
 background-color: var(--phpunit-danger-bar) !important;
}

.file-coverage-chart {
 width: 100%;
 max-width: 900px;
}

.dashboard-row {
 margin-top: 2rem;
}

.dashboard-column .scrollbox {
 height: 400px;
}
