html {
    background: var(--library-bg);
}

.auth-page,
.content-page {
    display: flow-root;
    min-height: 100vh;
    margin: 0;
    color: var(--library-text);
    background: radial-gradient(circle at 12% 0, rgba(124, 92, 255, .2), transparent 30rem),
        radial-gradient(circle at 90% 8%, rgba(24, 200, 255, .1), transparent 26rem), var(--library-bg) !important;
}

.public-theme-toggle {
    position: fixed;
    z-index: 1000;
    top: 1rem;
    right: 1rem;
    display: inline-flex;
    min-width: 5.8rem;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    padding: .48rem .75rem;
    border: 1px solid #747b90;
    border-radius: .65rem;
    color: var(--library-text);
    background: color-mix(in srgb, var(--library-surface) 90%, transparent);
    box-shadow: 0 .4rem 1.2rem rgba(0, 0, 0, .18);
    font-weight: 600;
    cursor: pointer;
    backdrop-filter: blur(12px);
}

.public-theme-toggle:hover { color: #fff; border-color: #8a78ef; background: #6049ca; }

.auth-page > .container { width: 100%; max-width: 760px; padding-top: 3rem; padding-bottom: 3rem; }
.auth-page .row > [class*="col-"] {
    width: 100%;
    max-width: 620px;
    padding: clamp(1.25rem, 4vw, 2.25rem);
    border: 1px solid var(--library-border);
    border-radius: 1.15rem;
    background: linear-gradient(150deg, var(--library-surface-2), var(--library-surface));
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, .22);
}
.auth-page h1 { font-weight: 750; letter-spacing: -.025em; }
.auth-page hr { border-color: var(--library-border); opacity: 1; }
.auth-page .form-label { color: var(--library-text); }
.auth-page .form-control {
    min-height: 3rem;
    border: 1px solid var(--library-border);
    border-radius: .7rem;
    color: var(--library-text) !important;
    background: var(--library-input) !important;
}
.auth-page .form-control:focus { border-color: #8068ef; box-shadow: 0 0 0 .22rem rgba(124, 92, 255, .17); }
.auth-page .btn-info, .content-page .btn-primary { color: #fff; border: 0; background: linear-gradient(135deg, #7657f5, #267bdc); }
.auth-page .btn-dark { color: var(--library-text); border-color: var(--library-border); background: var(--library-surface-2); }
.auth-page .btn-dark:hover { color: #fff; border-color: #7657f5; background: #6049ca; }
.auth-page .d-flex.justify-content-between { flex-wrap: wrap; gap: .5rem; }
.auth-page .d-flex.justify-content-between .btn { flex: 1 1 auto; }
.auth-page iframe { max-width: 100%; }

.content-page .container,
.content-page main { max-width: 1100px; }
.content-page .card,
.content-page .accordion-item,
.content-page .update-card {
    color: var(--library-text) !important;
    border-color: var(--library-border) !important;
    background: var(--library-surface) !important;
    box-shadow: 0 .7rem 2rem rgba(0,0,0,.15);
}
.content-page .accordion-button { color: var(--library-text); background: var(--library-surface); }
.content-page .accordion-button:not(.collapsed) { color: #fff; background: linear-gradient(135deg, #684fd7, #3576c8); }
.content-page .accordion-body, .content-page .list-group-item { color: var(--library-text); border-color: var(--library-border); background: var(--library-surface); }
.content-page p, .content-page li, .content-page h1, .content-page h2, .content-page h3, .content-page h4 { color: inherit; }
.content-page .text-muted, .content-page .text-secondary { color: var(--library-muted) !important; }
.content-page a:not(.btn) { color: #a995ff; }
.update-page { display: flex; min-height: 100vh; align-items: center; }
.update-page .card, .update-page .update-card { max-width: 760px; margin: auto; padding: clamp(1.5rem, 5vw, 3rem) !important; border-radius: 1.15rem !important; }

[data-bs-theme="light"] .public-theme-toggle { color: #3f4350; border-color: #777d8b; background: rgba(255,255,255,.9); }
[data-bs-theme="light"] .public-theme-toggle:hover { color: #fff; border-color: #6049ca; background: #6049ca; }
[data-bs-theme="light"] .auth-page .row > [class*="col-"],
[data-bs-theme="light"] .content-page .card,
[data-bs-theme="light"] .content-page .accordion-item,
[data-bs-theme="light"] .content-page .update-card { box-shadow: 0 1rem 3rem rgba(42,34,77,.1); }
[data-bs-theme="light"] .content-page a:not(.btn) { color: #553abf; }

@media (max-width: 575.98px) {
    .public-theme-toggle { top: .65rem; right: .65rem; min-width: 2.7rem; }
    .public-theme-toggle .theme-label { display: none; }
    .auth-page > .container { margin-top: 2.5rem !important; padding-right: .75rem; padding-left: .75rem; }
    .auth-page .row { margin: 0; }
    .content-page { padding-top: 3rem; }
}
