/* Import Space Mono font */
@import url('https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap');

:root {
    /* Super Mario color palette */
    --mario-blue: #5C94FC;
    --mario-ground: #7C4C28;
    --mario-brick: #FC9838;
    --mario-red: #F83800;
    --mario-coin: #FCC860;
    --mario-green: #00A800;
    --mario-text: #FFFFFF;
    --mario-shadow: #000000;
    
    /* Update font to Space Mono */
    --pico-font-family: 'Space Mono', monospace;
}

/* Apply Space Mono font globally */
* {
    font-family: 'Space Mono', monospace;
}

body {
    padding: 2rem 1rem;
    font-family: 'Space Mono', monospace;
    font-size: 15px;
    line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Space Mono', monospace;
}

h1 {
    font-size: 24px;
    font-weight: 700;
}

h2 {
    font-size: 20px;
    font-weight: 700;
}

h3 {
    font-size: 18px;
    font-weight: 700;
}

p, a, li, span, div {
    font-family: 'Space Mono', monospace;
    font-size: 15px;
}

nav ul {
    padding: 0;
}

nav ul li {
    display: inline;
    margin-right: 2rem;
}

.brand {
    font-weight: 600;
    color: var(--pico-primary);
}

footer {
    margin-top: 4rem;
    padding-top: 2rem;
    border-top: 1px solid var(--pico-muted-border-color);
}

blockquote {
    border-left: 3px solid var(--pico-primary);
    padding-left: 1.5rem;
    margin: 2rem 0;
    font-style: italic;
}

blockquote footer {
    margin-top: 1rem;
    font-style: normal;
    color: var(--pico-muted-color);
    font-size: 14px;
}

.post {
    margin-bottom: 2.5rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--pico-muted-border-color);
}

.post:last-child {
    border-bottom: none;
}

.post h3 {
    margin-bottom: 0.5rem;
}

.post .date {
    color: var(--pico-muted-color);
    font-size: 14px;
    margin-bottom: 0.75rem;
}

.coming-soon {
    color: var(--pico-muted-color);
    font-style: italic;
}

.post-item:last-child {
    border-bottom: none;
}

.post-item h3 a {
    text-decoration: none;
}

.post-item h3 {
    margin-top: 0;
    margin-bottom: 0.5rem;
}

.post-item .date {
    color: var(--pico-muted-color);
    font-size: 14px;
    text-align: left;
    border-top: 1px solid var(--pico-muted-border-color);
    padding-top: 0.5rem;
    padding-bottom: 0.25rem;
    margin-bottom: 0.5rem;
}

.project {
    margin-bottom: 3rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--pico-muted-border-color);
}

.project:last-child {
    border-bottom: none;
}

.project h3 {
    margin-bottom: 0.5rem;
}

.project .status {
    color: var(--pico-muted-color);
    font-size: 14px;
    margin-bottom: 1rem;
}

.role {
    margin-bottom: 3rem;
}

.role h3 {
    margin-bottom: 0.5rem;
}

.role .meta {
    color: var(--pico-muted-color);
    font-size: 14px;
    margin-bottom: 1rem;
}

/* Mobile and small screen optimizations */
@media (max-width: 768px) {
    body {
        padding: 1.5rem 0.75rem;
    }

    nav ul {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem 1rem;
    }

    nav ul li {
        display: inline;
        margin-right: 0;
    }

    nav ul li a {
        font-size: 14px;
    }

    footer {
        margin-top: 3rem;
        padding-top: 1.5rem;
        font-size: 14px;
    }
    
    body {
        font-size: 14px;
    }

    blockquote {
        padding-left: 1rem;
        margin: 1.5rem 0;
    }

    .post {
        margin-bottom: 2rem;
        padding-bottom: 1.5rem;
    }

    .post-item {
        margin-bottom: 1.5rem;
        padding-bottom: 1.5rem;
    }

    .project {
        margin-bottom: 2rem;
        padding-bottom: 1.5rem;
    }

    .role {
        margin-bottom: 2rem;
    }

    h1 {
        font-size: 22px;
    }

    h2 {
        font-size: 18px;
    }

    h3 {
        font-size: 16px;
    }
    
    p, a, li, span, div {
        font-size: 14px;
    }
}

/* Extra small screens (phones in portrait) */
@media (max-width: 480px) {
    body {
        padding: 1rem 0.5rem;
    }

    nav ul {
        gap: 0.25rem 0.75rem;
    }

    nav ul li a {
        font-size: 14px;
    }

    footer {
        margin-top: 2rem;
        padding-top: 1rem;
        font-size: 14px;
    }
    
    body {
        font-size: 14px;
    }

    blockquote {
        padding-left: 0.75rem;
        margin: 1rem 0;
        font-size: 14px;
    }

    .post,
    .post-item,
    .project {
        margin-bottom: 1.5rem;
        padding-bottom: 1rem;
    }

    .role {
        margin-bottom: 1.5rem;
    }

    h1 {
        font-size: 20px;
    }

    h2 {
        font-size: 18px;
    }

    h3 {
        font-size: 15px;
    }
    
    p, a, li, span, div {
        font-size: 13px;
    }
}

