html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.card-img-top
{
    height: 140px;
    object-fit: contain;
    background-color: var(--bs-body-bg);
}

.poll-description {
    white-space: pre-line;
}

.round-overview-bracket {
    min-width: 18rem;
    max-width: 28rem;
}

.round-winner-thumb {
    width: 48px;
    height: 48px;
    object-fit: contain;
    background-color: var(--bs-body-bg);
}

.prediction-frame {
    border: 2px solid var(--bs-info);
}

/* Bootstrap 5.1 component overrides: one explicit dark palette. */
:root { color-scheme: dark; --bs-body-bg: #11161f; --bs-body-color: #e5ebf4; --bs-info: #67c3f0; --bs-border-color: #354154; }
html { background: var(--bs-body-bg); }
body { background: var(--bs-body-bg); color: var(--bs-body-color); margin: 0; min-height: 100vh; display: flex; flex-direction: column; }
body > .container { flex: 1; }
a, .link-primary { color: #91caff; }
a:hover, .link-primary:hover { color: #c0e1ff; }
.text-muted, .link-secondary { color: #aab7ca !important; }
.text-dark { color: #e5ebf4 !important; }
.text-danger, .field-validation-error, .validation-summary-errors { color: #ffaaaa !important; }
.text-success { color: #9bdfb6 !important; }
.navbar, .footer { background: #151d29; }
.navbar .nav-link, .navbar .btn-link { color: #c1cee0; }
.navbar .nav-link:hover, .navbar-brand { color: #f3f7ff !important; }
.account-menu { align-items: center; gap: .85rem; }
.account-menu .account-name { display: inline-block; color: #c1cee0; font-size: .875rem; line-height: 1.5; }
.account-menu .btn { white-space: nowrap; }
.border, .border-top, .border-bottom, hr { border-color: #354154 !important; }
.card, .list-group-item, .accordion-item, .dropdown-menu, .modal-content { background: #192230; color: #e5ebf4; border-color: #354154; }
.card-header { background: #1d2838; border-color: #354154; }
.list-group-item-action:hover, .list-group-item-action:focus { background: #243348; color: #f3f7ff; }
.accordion-button, .accordion-button:not(.collapsed) { background: #202e42; color: #e7f0ff; box-shadow: none; }
.accordion-button.collapsed { background: #192230; }
.accordion-button::after { filter: brightness(0) invert(1); }
.accordion-body { background: #111a27; }
.table { --bs-table-bg: #192230; --bs-table-color: #e5ebf4; --bs-table-striped-bg: #202c3d; --bs-table-striped-color: #e5ebf4; --bs-table-hover-bg: #2a3a50; --bs-table-hover-color: #f3f7ff; color: #e5ebf4; border-color: #354154; }
.table > :not(caption) > * > * { color: inherit; border-color: #354154; }
.table > thead { background: #202e42; }
.table-info { --bs-table-bg: #193c50; --bs-table-striped-bg: #21485d; --bs-table-striped-color: #e4f5ff; --bs-table-hover-bg: #285970; --bs-table-hover-color: #f0faff; color: #e4f5ff; }
.form-control, .form-select, .input-group-text { background-color: #111a27; color: #edf3fc; border-color: #42516a; }
.form-control:focus, .form-select:focus { background-color: #111a27; color: #edf3fc; border-color: #83beff; box-shadow: 0 0 0 .2rem #39659255; }
.form-control:disabled, .form-control[readonly] { background-color: #202c3d; color: #dce6f5; }
.form-control::placeholder { color: #9baac0; }
.form-text { color: #aab7ca; }
.form-check-input { background-color: #111a27; border-color: #647590; }
.form-check-input:checked { background-color: #3b82d0; }
.btn-primary { background: #2767ac; border-color: #4284cc; color: #fff; }
.btn-primary:hover { background: #327ac7; border-color: #83beff; }
.btn-outline-primary { color: #a6d4ff; border-color: #5a91c5; }
.btn-outline-primary:hover { color: #fff; background: #2767ac; }
.btn-outline-secondary { color: #d1dcea; border-color: #647590; }
.btn-outline-secondary:hover { background: #34465e; color: #fff; }
.btn-outline-danger { color: #ffb2b2; border-color: #be686e; }
.text-bg-info, .badge.bg-info { background: #244d68 !important; color: #d7f1ff !important; }
.text-bg-secondary, .badge.bg-secondary { background: #3b485e !important; color: #f0f4fb !important; }
.text-bg-success, .badge.bg-success { background: #245b43 !important; color: #d3f8e2 !important; }
.text-bg-warning, .badge.bg-warning { background: #665020 !important; color: #fff0bd !important; }
.bg-success-subtle { background: #193c2d !important; color: #e0f5e7; }
.border-success { border-color: #69c18f !important; }
.bg-white, .bg-light { background: #192230 !important; }
.alert-info { background: #18364b; color: #d3ecff; border-color: #39739a; }
.alert-warning { background: #41341e; color: #ffe5aa; border-color: #8b723e; }
.alert-success { background: #1c3d2e; color: #d1f6e0; border-color: #458560; }
.alert-danger { background: #46252c; color: #ffdbdf; border-color: #a3616b; }
.nav-pills .nav-link.active { background: #295f9e; color: #fff; }
.nav-pills .nav-link:not(.active) { color: #91caff; }
.card.prediction-frame { border: 2px solid #67c3f0; }
@media (max-width: 767px) {
  main > .d-flex { flex-wrap: wrap; gap: 1rem; }
  .accordion-body { padding: .75rem; }
  .card-body { padding: .75rem; }
}
code { color: #b8d7ff; }
.footer { position: static; line-height: 1.5; }
::selection { background: #406e9c; color: #fff; }
