/* --- THEME DEFINITIONS --- */

/* Light Theme (Bootstrap Defaults are mostly fine) */
:root {
    --bs-link-hover-color: #0a58ca;
}

/* Dark Theme */
[data-bs-theme="dark"] {
    --bs-body-color: #ced4da;
    --bs-body-bg: #1a1a1a;
    --bs-secondary-bg: #2c2c2c;
    --bs-tertiary-bg: #232323;
    --bs-border-color: #444;
    --bs-link-color: #80bfff;
    --bs-link-hover-color: #a8d1ff;
    --bs-card-bg: #222;
    --bs-card-border-color: #444;
    --bs-card-cap-bg: #333;
    --bs-card-cap-color: #ced4da;
    color-scheme: dark;
}

[data-bs-theme="dark"] body {
    background-color: var(--bs-body-bg);
}

[data-bs-theme="dark"] h1,
[data-bs-theme="dark"] h2,
[data-bs-theme="dark"] h3,
[data-bs-theme="dark"] h4,
[data-bs-theme="dark"] h5,
[data-bs-theme="dark"] h5 a {
    color: #e9ecef;
}

[data-bs-theme="dark"] .text-muted {
    color: #adb5bd !important;
}

[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select {
    background-color: #333;
    color: var(--bs-body-color);
    border-color: #555;
}

[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
    background-color: #444;
    border-color: #777;
    box-shadow: 0 0 0 0.25rem rgba(128, 191, 255, 0.25);
}

[data-bs-theme="dark"] .btn-primary {
    --bs-btn-bg: #0d6efd;
    --bs-btn-border-color: #0d6efd;
    --bs-btn-hover-bg: #0b5ed7;
    --bs-btn-hover-border-color: #0a58ca;
    --bs-btn-active-bg: #0a58ca;
    --bs-btn-active-border-color: #0a53be;
    --bs-btn-focus-shadow-rgb: 49,132,253;
}

[data-bs-theme="dark"] .btn-outline-primary {
    --bs-btn-color: var(--bs-link-color);
    --bs-btn-border-color: var(--bs-link-color);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-link-color);
    --bs-btn-hover-border-color: var(--bs-link-color);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-link-hover-color);
    --bs-btn-active-border-color: var(--bs-link-hover-color);
}

[data-bs-theme="dark"] .badge.bg-info {
    --bs-bg-opacity: 1;
    background-color: #3e4f5a !important;
    color: #a8d1ff !important;
}

/* Hacker Theme */
[data-bs-theme="hacker"] {
    --bs-body-color: #0f0;
    --bs-body-bg: #000;
    --bs-secondary-bg: #050505;
    --bs-tertiary-bg: #111;
    --bs-border-color: #0f0;
    --bs-link-color: #ff00ff;
    --bs-link-hover-color: #ff80ff;
    --bs-card-bg: #0a0a0a;
    --bs-card-border-color: #0f0;
    --bs-card-cap-bg: #111;
    --bs-card-cap-color: #0f0;
    font-family: 'Courier New', Courier, monospace;
    color-scheme: dark;
}

[data-bs-theme="hacker"] body {
    background-color: var(--bs-body-bg);
}

[data-bs-theme="hacker"] .text-muted {
    color: var(--bs-link-color) !important;
    opacity: 0.7;
}

[data-bs-theme="hacker"] h1,
[data-bs-theme="hacker"] h2,
[data-bs-theme="hacker"] h3,
[data-bs-theme="hacker"] h4,
[data-bs-theme="hacker"] h5,
[data-bs-theme="hacker"] h5 a {
    color: var(--bs-link-color);
}

[data-bs-theme="hacker"] a,
[data-bs-theme="hacker"] .navbar-brand,
[data-bs-theme="hacker"] .nav-link,
[data-bs-theme="hacker"] .dropdown-item {
    text-shadow: 0 0 2px #0f0;
}

[data-bs-theme="hacker"] .navbar,
[data-bs-theme="hacker"] .btn,
[data-bs-theme="hacker"] .card,
[data-bs-theme="hacker"] .alert,
[data-bs-theme="hacker"] .form-control,
[data-bs-theme="hacker"] .form-select,
[data-bs-theme="hacker"] .pagination .page-link,
[data-bs-theme="hacker"] .dropdown-menu {
    border: 1px solid #0f0;
    box-shadow: 0 0 3px #0f0;
}

[data-bs-theme="hacker"] .form-control,
[data-bs-theme="hacker"] .form-select {
    background-color: #0a0a0a;
    color: #0f0;
}

[data-bs-theme="hacker"] .btn-primary {
    --bs-btn-color: #000;
    --bs-btn-bg: #0f0;
    --bs-btn-border-color: #0f0;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #00cc00;
    --bs-btn-hover-border-color: #00cc00;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #009900;
    --bs-btn-active-border-color: #009900;
    --bs-btn-focus-shadow-rgb: 0,255,0;
}

[data-bs-theme="hacker"] .btn-outline-primary {
    --bs-btn-color: var(--bs-link-color);
    --bs-btn-border-color: var(--bs-link-color);
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: var(--bs-link-color);
    --bs-btn-hover-border-color: var(--bs-link-color);
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: var(--bs-link-hover-color);
    --bs-btn-active-border-color: var(--bs-link-hover-color);
}

[data-bs-theme="hacker"] .badge.bg-info {
    --bs-bg-opacity: 1;
    background-color: #2a0a2a !important;
    color: var(--bs-link-color) !important;
    border: 1px solid var(--bs-link-color);
}

/* Dark-OLED Theme */
[data-bs-theme="dark-oled"] {
    --bs-body-color: #e66666;
    --bs-body-bg: #000000;
    --bs-secondary-bg: #111;
    --bs-tertiary-bg: #0a0a0a;
    --bs-border-color: #8B0000;
    --bs-link-color: #ff4d4d;
    --bs-link-hover-color: #ff8080;
    --bs-card-bg: #0a0a0a;
    --bs-card-border-color: #8B0000;
    --bs-card-cap-bg: #111;
    --bs-card-cap-color: #e66666;
    color-scheme: dark;
}

[data-bs-theme="dark-oled"] body {
    background-color: var(--bs-body-bg);
}

[data-bs-theme="dark-oled"] h1,
[data-bs-theme="dark-oled"] h2,
[data-bs-theme="dark-oled"] h3,
[data-bs-theme="dark-oled"] h4,
[data-bs-theme="dark-oled"] h5,
[data-bs-theme="dark-oled"] h5 a {
    color: #ff8080;
}

[data-bs-theme="dark-oled"] .text-muted {
    color: #b34747 !important;
}

[data-bs-theme="dark-oled"] .form-control,
[data-bs-theme="dark-oled"] .form-select {
    background-color: #1a1a1a;
    color: var(--bs-body-color);
    border-color: #8B0000;
}

[data-bs-theme="dark-oled"] .form-control:focus,
[data-bs-theme="dark-oled"] .form-select:focus {
    background-color: #2a2a2a;
    border-color: #ff4d4d;
    box-shadow: 0 0 0 0.25rem rgba(255, 77, 77, 0.25);
}

[data-bs-theme="dark-oled"] .btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #c00;
    --bs-btn-border-color: #c00;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #a00;
    --bs-btn-hover-border-color: #900;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #900;
    --bs-btn-active-border-color: #800;
    --bs-btn-focus-shadow-rgb: 220,53,69;
}

[data-bs-theme="dark-oled"] .card {
    border-bottom: 1px solid var(--bs-border-color);
}

[data-bs-theme="dark-oled"] .btn-outline-primary {
    --bs-btn-color: var(--bs-link-color);
    --bs-btn-border-color: var(--bs-link-color);
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: var(--bs-link-color);
    --bs-btn-hover-border-color: var(--bs-link-color);
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: var(--bs-link-hover-color);
    --bs-btn-active-border-color: var(--bs-link-hover-color);
}

[data-bs-theme="dark-oled"] .badge.bg-info {
    --bs-bg-opacity: 1;
    background-color: #4d1a1a !important;
    color: #ff8080 !important;
}

/* --- GENERAL STYLES --- */
.summary-text-full,
.summary-text-short {
    white-space: pre-wrap;
} 