body {
    margin: 0;
    padding: 1vh;
    background-color: var(--base);
    color: var(--text-color);
    font-family: "Sora", sans-serif;
    font-optical-sizing: auto;
    font-weight: 200;
    font-style: normal;
}

header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    height: 4vh;
    margin-bottom: 1vh;
}

:root {
    --base: #121212;
    --surface: #232323;
    --text-color: #ffffff;
}

input, button, select {
    background-color: var(--surface);
    color: var(--text-color);
    border: none;
    border-radius: 5px;
    padding: 0.6vh 0.8vh;
    user-select: none;
    box-sizing: border-box;
}

#search input {
    width: 100%;
}

iframe {
    border-radius: 5px;
    border: none;
    background-color: var(--surface);
    height: 93vh;
}

#settings {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.98);
    width: min(92vw, 420px);
    max-height: 80vh;
    background-color: var(--base);
    border-radius: 8px;
    padding: 16px;
    box-sizing: border-box;
    overflow: auto;
}

#settings.open {
    opacity: 1;
}

#overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.75);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease-in-out;
}

#overlay.active {
    opacity: 1;
    pointer-events: auto;
}

#gear {
    user-select: none;
    cursor: pointer;
    padding: 0px 5px;
    font-size: 20px;
    height: auto;
}

.default {
    --base: #121212;
    --surface: #232323;
    --text-color: #ffffff;
}

.latte {
    --base: #eff1f5;
    --surface: #acb0be;
    --text-color: #4c4f69;
}

.frappe {
    --base: #303446;
    --surface: #51576d;
    --text-color: #c6d0f5;
}

.macchiato {
    --base: #24273a;
    --surface: #363a4f;
    --text-color: #cad3f5;
}

.mocha {
    --base: #1e1e2e;
    --surface: #313244;
    --text-color: #cdd6f4;
}

.mrworkshop {
    --base: #111111;
    --surface: #222222;
    --text-color: #ffffff;
}

.aerialite {
    --base: #5FD7FF;
    --surface: #4ca7c5;
    --text-color: #ffffff;
}

.flex-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.flex-row > * {
    flex: 0 0 auto;
}

#search {
    width: 100%;
    margin: 0;
}

a:link {
  color: #5FD7FF;
  text-decoration: none;
}

a:visited {
  color: #4ca7c5;
  text-decoration: none;
}

a:hover {
  color: #cdd6f4;
  text-decoration: underline;
}

a:active {
  color: #FFFFFF;
  text-decoration: underline;
}