[data-bs-theme="dark"] {
    --aqw-gold: #d5bf7d;
    --aqw-gold-hover: #e4d39f;
    --aqw-gold-pressed: #c5ab62;
    --aqw-ink: #18191d;
    --aqw-surface: #222328;
    --bs-body-bg: var(--aqw-ink);
    --bs-body-color: #e6e5e1;
    --bs-card-bg: var(--aqw-surface);
    --bs-border-color: #393a40;
    --bs-border-color-translucent: rgba(213,191,125,0.12);
    --bs-secondary-bg: #2b2c32;
    --bs-tertiary-bg: #202126;
    --bs-primary: var(--aqw-gold);
    --bs-primary-rgb: 213, 191, 125;
    --bs-primary-text-emphasis: #e4d39f;
    --bs-primary-bg-subtle: #302c20;
    --bs-primary-border-subtle: #65593a;
    --bs-link-color: var(--aqw-gold);
    --bs-link-color-rgb: 213, 191, 125;
    --bs-link-hover-color: var(--aqw-gold-hover);
    --bs-link-hover-color-rgb: 228, 211, 159;
    --bs-focus-ring-color: rgba(213,191,125,0.25);
    --bs-code-color: #d9c995;
    --bs-success-rgb: 35, 165, 90;
    --bs-danger-rgb: 237, 66, 69;
    --bs-secondary-color: #a5a6ad;
    --bs-tertiary-color: #92949e;
    --bs-border-radius: 0.6rem;
    --bs-border-radius-lg: 0.9rem;
}

body { background: radial-gradient(ellipse at 10% 0%, rgba(213,191,125,0.035), transparent 40%), var(--bs-body-bg); }
::selection { background: rgba(var(--bs-primary-rgb),0.3); color: #fff; }
:focus-visible { outline: 2px solid var(--aqw-gold); outline-offset: 3px; }
a { text-underline-offset: 0.2em; }
.btn { font-weight: 600; }
.btn-primary {
    --bs-btn-color: #ead9a4;
    --bs-btn-bg: #302c23;
    --bs-btn-border-color: #887547;
    --bs-btn-hover-color: #f6e7bd;
    --bs-btn-hover-bg: #40382a;
    --bs-btn-hover-border-color: #b59b60;
    --bs-btn-active-color: #ead9a4;
    --bs-btn-active-bg: #29261f;
    --bs-btn-active-border-color: #a48d56;
    --bs-btn-disabled-color: #b1a585;
    --bs-btn-disabled-bg: #29271f;
    --bs-btn-disabled-border-color: #544c37;
    --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
    background-image: linear-gradient(180deg, rgba(255,238,184,0.07), transparent);
    box-shadow: inset 0 1px 0 rgba(255,238,184,0.1), 0 2px 5px rgba(0,0,0,0.2);
}
.btn-outline-primary {
    --bs-btn-color: var(--aqw-gold);
    --bs-btn-bg: rgba(213,191,125,0.025);
    --bs-btn-border-color: #62573c;
    --bs-btn-hover-color: #ead9a4;
    --bs-btn-hover-bg: #302c23;
    --bs-btn-hover-border-color: #887547;
    --bs-btn-active-color: #ead9a4;
    --bs-btn-active-bg: #29261f;
    --bs-btn-active-border-color: #a48d56;
    --bs-btn-disabled-color: var(--aqw-gold);
    --bs-btn-disabled-border-color: #746540;
    --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
}
.btn-primary:not(.btn-sm):not(.btn-lg), .btn-outline-primary:not(.btn-sm):not(.btn-lg) {
    --bs-btn-padding-x: 1rem;
    --bs-btn-padding-y: 0.6rem;
    --bs-btn-font-size: 0.875rem;
}
.btn-primary:hover { box-shadow: inset 0 1px 0 rgba(255,238,184,0.13), 0 3px 8px rgba(0,0,0,0.25); }
.btn-primary:active, .btn-primary.active, .btn-check:checked + .btn-primary {
    background-image: none;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.2);
}
.btn-primary:focus-visible, .btn-outline-primary:focus-visible,
.btn-check:focus-visible + .btn-primary, .btn-check:focus-visible + .btn-outline-primary {
    outline: 2px solid var(--aqw-gold);
    outline-offset: 3px;
    box-shadow: 0 0 0 4px rgba(var(--bs-primary-rgb),0.14);
}
.btn-primary:disabled, .btn-primary.disabled { background-image: none; box-shadow: none; }
.bg-primary, .text-bg-primary { color: var(--aqw-ink) !important; }
.nav-pills { --bs-nav-pills-link-active-color: var(--aqw-ink); --bs-nav-pills-link-active-bg: var(--aqw-gold); }
.nav-tabs { --bs-nav-tabs-link-active-color: var(--aqw-gold); --bs-nav-tabs-link-active-bg: var(--aqw-surface); }
.dropdown-menu { --bs-dropdown-bg: #24252b; --bs-dropdown-link-active-bg: var(--aqw-gold); --bs-dropdown-link-active-color: var(--aqw-ink); --bs-dropdown-link-hover-bg: #303138; padding: 0.4rem; box-shadow: 0 12px 32px #0005; }
.dropdown-item { border-radius: 5px; }
.card { --bs-card-bg: var(--aqw-surface); --bs-card-border-color: var(--bs-border-color); --bs-card-cap-bg: rgba(255,255,255,0.025); }
.modal-content { --bs-modal-bg: var(--aqw-surface); --bs-modal-border-color: var(--bs-border-color); }
.form-control, .form-select { background-color: #1c1d22; border-color: #45464f; }
.form-control:focus, .form-select:focus { background-color: #222329; border-color: var(--aqw-gold); box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb),0.16); }
.form-control::placeholder { color: #9396a1; opacity: 1; }
.form-check-input:focus { border-color: var(--aqw-gold); box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb),0.16); }
.form-check-input:checked { background-color: var(--aqw-gold); border-color: var(--aqw-gold); }
.form-check-input[type="checkbox"]:checked { --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%2318191d' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); }
.form-check-input[type="radio"]:checked { --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%2318191d'/%3e%3c/svg%3e"); }
.form-switch .form-check-input:focus { --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23d5bf7d'/%3e%3c/svg%3e"); }
.form-switch .form-check-input:checked { --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2318191d'/%3e%3c/svg%3e"); }
.pagination { --bs-pagination-color: var(--aqw-gold); --bs-pagination-bg: var(--aqw-surface); --bs-pagination-active-bg: var(--aqw-gold); --bs-pagination-active-color: var(--aqw-ink); --bs-pagination-active-border-color: var(--aqw-gold); --bs-pagination-hover-color: var(--aqw-gold-hover); --bs-pagination-hover-bg: #303138; --bs-pagination-focus-color: var(--aqw-gold-hover); --bs-pagination-focus-bg: #303138; --bs-pagination-focus-box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb),0.2); }
.accordion { --bs-accordion-active-color: var(--aqw-gold); --bs-accordion-active-bg: #302c20; --bs-accordion-btn-focus-box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb),0.2); }
.list-group { --bs-list-group-active-bg: var(--aqw-gold); --bs-list-group-active-color: var(--aqw-ink); --bs-list-group-active-border-color: var(--aqw-gold); }
.progress { --bs-progress-bar-bg: var(--aqw-gold); --bs-progress-bar-color: var(--aqw-ink); }

.hero-logo {
    width: 128px;
    height: 128px;
    filter: drop-shadow(0 0 24px rgba(200,150,0,0.5));
}

@media (max-width: 575.98px) {
    .hero-logo {
        width: 96px;
        height: 96px;
    }
}

.btn-discord {
    background-color: #5865f2;
    border: none;
    color: #fff;
    font-weight: 600;
    padding: 0.65rem 1.5rem;
    border-radius: 8px;
    font-size: 1rem;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: background 0.15s, transform 0.1s;
}

.btn-discord:hover {
    background-color: #4752c4;
    color: #fff;
    transform: translateY(-1px);
}

.btn-discord:focus-visible { outline-color: #aeb5ff; }
.btn-discord:active { background-color: #3c45a5; }

.card-hover:hover .card {
    border-color: rgba(var(--bs-primary-rgb),0.4);
    transform: translateY(-1px);
    box-shadow: 0 4px 20px rgba(0,0,0,0.35);
}

.card-hover .card {
    transition: border-color 0.15s, transform 0.1s, box-shadow 0.15s;
}

.min-w-0 {
    min-width: 0;
}

.ls-wide {
    letter-spacing: 0.07em;
}

.info-page-shell {
    max-width: 780px;
}

.info-page-content {
    max-width: 780px;
}

.info-page-hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.5rem;
    padding: 1.75rem;
    border-radius: 14px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.025), rgba(255,255,255,0)),
        var(--bs-card-bg);
    border: 1px solid var(--bs-border-color);
    box-shadow: 0 12px 30px rgba(0,0,0,0.18);
}

.info-page-section {
    scroll-margin-top: 5rem;
}

.info-page-image {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,0.12);
    box-shadow: 0 10px 24px rgba(0,0,0,0.18);
}

@media (max-width: 991.98px) {
    .info-page-hero {
        flex-direction: column;
    }
}
