/* General Styles */
:root {
    /* Light Theme Colors */
    --primary-blue: #0074B8;
    --primary-blue-dark: #005F9E;
    --accent-blue: #40B5E8;
    --background: #FFFFFF;
    --surface-primary: #F2F7FA;
    --text-primary: #2C3E50;
    --text-secondary: #3C4C63;
    --link-color: #0074B8;
    --header-bg: #FFFFFF;
    --header-text: #2C3E50;
    --card-shadow: rgba(0, 0, 0, 0.05);
}

body {
    font-family: 'Roboto', sans-serif;
    margin: 0;
    background-color: var(--background);
    color: var(--text-primary);
    line-height: 1.6;
    transition: background-color 0.3s, color 0.3s;
}

.app-header {
    background-color: var(--header-bg);
    padding: 1rem 2rem;
    box-shadow: 0 2px 4px var(--card-shadow);
    display: flex;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 1000;
    transition: background-color 0.3s;
}

.logo {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--header-text);
}

.container {
    max-width: 800px;
    margin: 2rem auto;
    padding: 2rem;
    background-color: var(--surface-primary);
    border-radius: 8px;
    box-shadow: 0 4px 12px var(--card-shadow);
    transition: background-color 0.3s;
}

h1, h2, h3 {
    color: var(--text-primary);
    font-weight: 700;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
}

h1 {
    font-size: 2.5rem;
    border-bottom: 2px solid var(--primary-blue);
    padding-bottom: 0.3em;
    margin-top: 0;
}

h2 {
    font-size: 2rem;
}

h3 {
    font-size: 1.5rem;
}

p, li {
    color: var(--text-secondary);
    font-size: 1rem;
    margin-bottom: 1rem;
}

ul {
    padding-left: 20px;
}

li {
    margin-bottom: 0.5rem;
}

a {
    color: var(--link-color);
    text-decoration: none;
    font-weight: 500;
}

a:hover {
    text-decoration: underline;
    color: var(--primary-blue-dark);
}

strong {
    color: var(--text-primary);
    font-weight: 500;
}

/* Dark Theme */
@media (prefers-color-scheme: dark) {
    :root {
        /* Dark Theme Colors */
        --primary-blue: #0074B8;
        --accent-blue: #40B5E8;
        --background: #0B2239; /* backgroundNavy */
        --surface-primary: #1B3B58; /* surfaceDeep */
        --text-primary: #E5ECF4;
        --text-secondary: #C2D4E6;
        --link-color: #40B5E8;
        --header-bg: #2C3E50; /* backgroundDark */
        --header-text: #B0CDEB;
        --card-shadow: rgba(0, 0, 0, 0.2);
    }

    a:hover {
        color: var(--accent-blue);
    }
}

/* Responsive Design */
@media (max-width: 768px) {
    .container {
        margin: 1rem;
        padding: 1.5rem;
    }

    h1 {
        font-size: 2rem;
    }

    h2 {
        font-size: 1.75rem;
    }
}
