/* DataTables overrides */
.dataTables_wrapper .dataTables_filter {
    margin: 20px 0 40px;
}

.dataTables_filter input[type="search"] {
    font-size: 18px;
    margin: 0 0 0 10px;
    padding: 8px 16px;
    width: 350px;
    color: #111;
    border: 2px solid rgba(17, 17, 17, 0.3);
    border-radius: 4px;
    background: transparent;
}

.dataTables_filter input[type="search"]:focus {
    outline: none;
    border-color: #111;
}

/* Tag badges - similar to conference badges */
.dataTables_wrapper code {
    cursor: pointer;
}

code {
    border-radius: 4px;
    padding: 5px 10px;
    margin: 3px;
    font-size: 0.85rem;
    font-family: JetBrainsMono;
    color: #111;
    background: transparent;
    border: 2px solid rgba(17, 17, 17, 0.2);
    cursor: pointer;
    display: inline-block;
    transition: all 0.2s ease;
}

code:hover {
    border-color: #111;
    background: rgba(17, 17, 17, 0.05);
}

code.active {
    color: white;
    background: #111;
    border-color: #111;
}

/* Reset filter button - minimal override of .button class */
.reset-filter {
    display: none;
}

.toggle-vis {
    cursor: pointer;
    text-decoration: underline;
    text-decoration-color: rgba(17, 17, 17, 0.3);
}

.toggle-vis:hover {
    text-decoration-color: #111;
}

.toggle-vis.active {
    font-weight: bold;
}

.dt-control {
    font-family: Arial, sans-serif;
}

table.dataTable td.dt-control::before {
  color: #111;
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
    .dataTables_filter input[type="search"] {
        color: white;
        border-color: rgba(255, 255, 255, 0.3);
    }

    .dataTables_filter input[type="search"]:focus {
        border-color: rgba(255, 255, 255, 0.6);
    }

    code {
        color: white;
        border-color: rgba(255, 255, 255, 0.2);
    }

    code:hover {
        border-color: rgba(255, 255, 255, 0.5);
        background: rgba(255, 255, 255, 0.1);
    }

    code.active {
        color: #111;
        background: white;
        border-color: white;
    }

    .toggle-vis {
        text-decoration-color: rgba(255, 255, 255, 0.3);
    }

    .toggle-vis:hover {
        text-decoration-color: white;
    }

    table.dataTable td.dt-control::before {
      color: white;
    }

    .difficultyLevel {
      color: transparent;
      text-shadow: 0 0 0 #ee3856;
    }
}

table.dataTable.dt-checkboxes-select tbody tr,
table.dataTable thead th.dt-checkboxes-select-all,
table.dataTable tbody td.dt-checkboxes-cell {
  cursor: pointer;
}

table.dataTable thead th.dt-checkboxes-select-all,
table.dataTable tbody td.dt-checkboxes-cell {
  text-align: center;
}

div.dataTables_wrapper span.select-info,
div.dataTables_wrapper span.select-item {
  margin-left: 0.5em;
}

@media screen and (max-width: 640px) {
  div.dataTables_wrapper span.select-info,
  div.dataTables_wrapper span.select-item {
    margin-left: 0;
    display: block;
  }
}
