/* theme.css - Base theme for Felipe's Phrases website */

:root {
    /* Light mode colors - matching app theme */
    --primary: #126965;
    --primary-container: #80CBC5;
    --on-primary: #FFFFFF;
    --on-primary-container: #005652;
    --background: #F7FAF8;
    --surface: #F7FAF8;
    --surface-container: #ECEEEC;
    --surface-container-high: #E6E9E7;
    --on-surface: #181C1C;
    --on-surface-variant: #3F4948;
    --outline: #6F7978;
    --outline-variant: #BEC9C7;
}

@media (prefers-color-scheme: dark) {
    :root {
        /* Dark mode colors - matching app theme */
        --primary: #9CE7E1;
        --primary-container: #80CBC5;
        --on-primary: #003734;
        --on-primary-container: #005652;
        --background: #101414;
        --surface: #101414;
        --surface-container: #1C2020;
        --surface-container-high: #272B2A;
        --on-surface: #E0E3E2;
        --on-surface-variant: #BEC9C7;
        --outline: #889391;
        --outline-variant: #3F4948;
    }
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
                 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
    background-color: var(--background);
    color: var(--on-surface);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Typography */
h1 {
    color: var(--primary);
    font-size: 2.5rem;
    font-weight: 600;
    letter-spacing: -0.5px;
}

h2 {
    color: var(--primary);
    font-size: 1.75rem;
    font-weight: 500;
}

h3 {
    color: var(--on-surface);
    font-size: 1.25rem;
    font-weight: 500;
}

p {
    color: var(--on-surface-variant);
}

a {
    color: var(--primary);
    text-decoration: none;
    transition: opacity 0.2s;
}

a:hover {
    opacity: 0.7;
}

strong {
    color: var(--on-surface);
    font-weight: 600;
}

/* Responsive typography */
@media (max-width: 768px) {
    h1 {
        font-size: 2rem;
    }

    h2 {
        font-size: 1.5rem;
    }
}

/* Loading state */
.container.loading {
    opacity: 0;
}

.container.loaded {
    opacity: 1;
    transition: opacity 0.3s;
}
