/* CSS Variables ============================= */
:root {
    --primary-bg: #121212;
    --primary-text: #f1f1f1;
    --panel-bg: #1a1a1a;
    --side-menu-a: #1a1a1a;
    --side-menu-a-hover: #2a2a2a;
    --scrollbar-handle: #1f1f1f;
    --scrollbar-handle-hover: #2a2a2a;
}

/* Global Styles ============================= */
html {
    background-color: var(--primary-bg);
    color: var(--primary-text);
}

body {
    background-color: var(--primary-bg);
    color: var(--primary-text);
    font-family: "Segoe UI", sans-serif;
    font-size: 15px;
    line-height: 1.6;
}

html,
/* body {
    height: 100vh;
    overflow-y: scroll;
} */


html,
body {
    height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    /* Scroll only when necessary */
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-bottom: 0px !important;
    font-weight: bold;
}

/* Largest Heading (Reduced 20%) */
h1 {
    font-size: 2rem;
    /* Was 2.5rem */
    color: #1e90ff;
    /*border-bottom: 2px solid #333;*/
    padding-top: 0px;
}

/* Section Headings */
h2 {
    font-size: 1.6rem;
    /* Was 2rem */
    color: #f1f1f1;
}


h2 {
    margin-bottom: 10px;
}

/* Sub-Section Titles */
h3 {
    font-size: 1.4rem;
    /* Was 1.75rem */
    color: #bbb;
}

/* Smaller Headings */
h4 {
    font-size: 1.2rem;
    /* Was 1.5rem */
    color: #999;
}

h5 {
    font-size: 1rem;
    /* Was 1.25rem */
    color: #777;
}

h6 {
    font-size: 0.8rem;
    /* Was 1rem */
    color: #555;
    text-transform: uppercase;
}

a.default-link {
    color: #1E90FF !important;
    /* #1E90FF */
    text-decoration: none !important;
    font-weight: bold !important;
}

a.default-link:hover {
    color: #EBECF0 !important;
    /* text-decoration: underline !important; */
}

/* Header Styles ============================ */
/* This is the top header bar that contains the logo and title */
.dev-header {
    background-color: var(--panel-bg);
    height: 60px;
    width: 100%;
    position: fixed;
    top: 0;
    padding: 5px 20px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #000;
    z-index: 1000;
    /* Higher than any other elements */
}



.dev-header-content {
    display: flex;
    align-items: center;
    gap: 10px;
    /* Space between logo & title */
    width: 100vw;
}

.dev-header-logo {
    width: 40px;
    height: 40px;
    background-color: var(--primary-bg);
    border-radius: 33%;
    display: flex;
    justify-content: center;
    align-items: center;
}


.view-title {
    margin-bottom: 8px !important;
}


/* Dropdown Menu for Mobile ================== */
/* This is the dropdown menu that appears on mobile devices */
.dropdown-menu {
    position: fixed !important;
    /* Separates it from the flow */
    top: 60px !important;
    /* Places it right below the header */
    left: 0;
    width: 100vw !important;
    z-index: 1000;
    max-height: 70vh;
    /* Prevents it from going off-screen */
    overflow-y: auto;
    /* Enables scrolling */

}

.dropdown-trigger button {
    position: fixed !important;
    top: 60px !important;
    left: 0;
    width: 100vw !important;
    /* Forces the button to stretch */
    display: block;
    /* Ensures it takes full space */
    text-align: center;
    /* Centers the text */
}

.dropdown-item {
    font-size: 130%;
    font-weight: bold;
}

.mobile-menu-spacer {
    padding-bottom: 20px !important;
}




.dev-page-wrapper {
    margin-top: 80px;
    /* Pushes the content below the header */
    padding: 0px 20px;
    border-bottom: 1px solid #000;
    background-color: var(--primary-bg);
    color: var(--primary-text);
}

.dev-sidebar .menu-list li a {
    background-color: var(--side-menu-a) !important;
    border-radius: 0% !important;
}

.dev-sidebar .menu-list li a:hover {
    background-color: var(--side-menu-a-hover) !important;
}


.menu-link {
    border-radius: 0% !important;
}

/* ??? */
@media (max-width: 768px) {
    .dropdown-menu {
        display: none;
        /* Hide by default */
    }


    /* .mobile-menu-button {
        z-index: 1 !important;
        padding: inherit !important;
    } */

    .dropdown.is-active .dropdown-menu {
        display: block;
        /* Show when toggled */
    }
}

.dev-view-header {
    border-bottom: 1px solid #000;
    padding: 10px 0;
    margin-bottom: 20px;
}

.dev-footer {
    /* background-color: var(--panel-bg); */
    color: var(--primary-text);
    padding: 20px;
    text-align: center;
}

.footer-container {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    /* Ensures sections wrap when screen size shrinks */
}

.footer-section {
    width: 22%;
    min-width: 180px;
    margin-bottom: 10px;
}

.footer-section h4 {
    margin-bottom: 10px;
    font-size: 1.2rem;
}

.footer-section ul {
    list-style: none;
    padding: 0;
}

.footer-section li {
    margin: 5px 0;
}

.footer-section a {
    color: var(--primary-text);
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-section a:hover {
    color: #1e90ff;
}

.dev-footer .footer-section a {
    color: var(--primary-text);
    /* Keep the default text color */
    text-decoration: none;
    display: block;
    padding: 10px;
    background-color: var(--side-menu-a);
    transition: background-color 0.2s ease-in-out;
}

.dev-footer .footer-section a:hover {
    color: var(--primary-text);
    /* Prevent browser's default blue */
    background-color: var(--side-menu-a-hover);
}

.dev-footer .footer-section a {
    display: block;
    /* Makes the links fill the container width */
    background-color: var(--side-menu-a);
    padding: 10px;
    text-align: center;
    font-weight: bold;
    transition: background-color 0.2s ease-in-out;

}

.dev-footer .footer-section a:hover {
    background-color: var(--side-menu-a-hover);
}

@media (max-width: 768px) {
    .footer-container {
        flex-direction: column;
        align-items: center;
    }

    .footer-section {
        width: 100%;
    }
}

.dev-footer-secondary {
    font-size: 0.8rem;
    padding: 10px 20px;
    text-align: left;
}

.footer-secondary-container {
    display: flex;
    font-weight: bold;
    color: #3a3a3a;
    border-top: 1px solid #000;
    padding-top: 8px;
    justify-content: space-between;
    width: 100%;
}

.version-info {
    text-align: right;
}

/* Scrollbar Styles ===================== */
/* Scrollbar Track */
::-webkit-scrollbar {
    width: 12px;
    height: 8px;
}

/* Scrollbar Handle (Thumb) */
::-webkit-scrollbar-thumb {
    background-color: var(--scrollbar-handle);
    border-radius: 6px;
    /* Rounds the edges */
    transition: background-color 0.3s ease-in-out;
}

/* Scrollbar Handle on Hover */
::-webkit-scrollbar-thumb:hover {
    background-color: var(--scrollbar-handle-hover);
}

/* Scrollbar Track Background (Slightly Darker for Contrast) */
::-webkit-scrollbar-track {
    background-color: #0f0f0f;
    /* Slightly darker than side-menu-a */
    border-radius: 6px;
    /* Ensures the track itself is rounded */
}


/* Social Media Icons ===================== */
.social-links {
    list-style: none;
    padding: 0;
}

.social-links a {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: inherit;
}

.social-icon {
    width: 16px;
    height: 16px;
    margin-right: 6px;
    vertical-align: middle;
}

/* Callout Boxes ========================= */

/* .callout {
    display: flex;
    align-items: center;
    padding: 10px;
    border-radius: 6px;
    font-size: 16px;
    margin-bottom: 12px;
    color: #f0f0f0;
} */









.callout {
    position: relative;
    display: flex;
    align-items: center;
    padding: 10px;
    border-radius: 6px;
    font-size: 16px;
    margin-bottom: 12px;
    color: #f0f0f0;
    overflow: hidden;
}

/* Scanline overlay */
.callout::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 200%;
    pointer-events: none;
    background-image: repeating-linear-gradient(to bottom,
            rgba(255, 255, 255, 0.02),
            rgba(255, 255, 255, 0.02) 2px,
            transparent 2px,
            transparent 6px);
    background-size: 100% 8px;
    animation: scanlines 12s linear infinite;
    z-index: 1;
}

/* Ensure content stays above scanlines */
.callout-content,
.callout-icon {
    position: relative;
    z-index: 2;
}

/* Smooth scroll animation */
@keyframes scanlines {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(-50%);
    }
}










.callout-icon {
    font-size: 20px;
    margin-right: 8px;
}

/* Debug Callout */
.debug {
    background-color: #1b3e06;
    /* Dark, murky green */
    border-left: 4px solid #aaff00;
    /* Neon toxic green */
}

/* Error Callout */
.error {
    background-color: #541a1a;
    border-left: 4px solid #e74c3c;
}

/* Info Callout */
.info {
    background-color: #2c3e50;
    border-left: 4px solid #3498db;
}

/* Success Callout */
.success {
    background-color: #1e562c;
    border-left: 4px solid #27ae60;
}

/* Todo Callout */
.todo {
    background-color: #2b2b2b;
    border-left: 4px solid #7f8c8d;
}

/* Warning Callout */
.warning {
    background-color: #5c3c06;
    border-left: 4px solid #f39c12;
}

/* Quote Callout */
.quote {
    background-color: #4b306a;
    /* rich purple */
    border-left: 4px solid #b394d2;
    /* soft lavender */
    color: #e6e0f4;
    /* light text for contrast */
    padding: 1rem;
    margin-bottom: 1rem;
    border-radius: 6px;
}


@media (max-width: 370px) {
    .dev-header-title {
        font-size: 20px;
    }
}