/* ---------- Tombol mode terang/gelap ---------- */
.tombol-tema {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    flex-shrink: 0;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--ink);
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.tombol-tema:hover {
    background: var(--surface-hover);
    border-color: var(--opsi-hover-border);
}

.tombol-tema:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

.tombol-tema .tombol-tema-matahari {
    display: none;
}

[data-theme="dark"] .tombol-tema .tombol-tema-bulan {
    display: none;
}

[data-theme="dark"] .tombol-tema .tombol-tema-matahari {
    display: block;
}

.tombol-tema-uji {
    width: 36px;
    height: 36px;
}

/* Di atas latar gelap (navbar landing, header ujian) */
.tombol-tema-kontras {
    background: var(--tema-kontras-bg);
    border-color: var(--tema-kontras-border);
    color: var(--tema-kontras-fg);
}

.tombol-tema-kontras:hover {
    background: var(--tema-kontras-bg-hover);
    border-color: var(--tema-kontras-border-hover);
}

.tombol-tema-kontras:focus-visible {
    outline-color: var(--tema-kontras-fg);
}

/* Halaman auth: tombol di pojok kanan atas */
.auth-tema {
    position: fixed;
    top: 18px;
    right: 20px;
    z-index: 50;
}

@media (max-width: 860px) {
    /* Navbar landing: tombol ikut di dalam menu hamburger. */
    .jl-links .tombol-tema {
        align-self: flex-start;
    }
}

@media (max-width: 560px) {
    .auth-tema {
        top: 12px;
        right: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tombol-tema {
        transition: none;
    }
}
