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

:root {
    --bg: #fbf1c7;      /* Background */
    --fg: #3c3836;      /* Foreground (main text, frame color) */
    --gray: #7c6f64;    /* Grey (subtle text) */
    --red: #9d0006;     /* Red accent */
    --green: #79740e;   /* Green accent */
    --yellow: #b57614;  /* Yellow accent */
    --blue: #076678;    /* Blue accent */
    --purple: #8f3f71;  /* Purple accent */
    --aqua: #427b58;    /* Aqua accent */
    --orange: #d65d0e;  /* Orange accent (Used for links) */
    --bg-alt: #ebdbb2;  /* Lighter background variant */

    --frame-thickness: 10px; /* Define frame thickness */
}

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

html {
    font-size: 100%;
    scroll-behavior: smooth;
}

body {
    font-family: IBM Plex Mono, monospace;
    line-height: 1.6;
    color: var(--fg);
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    padding: 2rem 1rem;

    background-color: var(--bg); /* Fallback/Base */
    box-shadow: inset 0 0 0 var(--frame-thickness) var(--fg);
    box-sizing: border-box;
}

.container {
    max-width: 700px;
    width: 100%;
    text-align: center;
}

header h1 {
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--fg);
    margin-bottom: 1.5rem;
    letter-spacing: normal;
}

main p {
    font-size: 0.95rem;
    margin-bottom: 1.2rem;
    color: var(--fg);
}

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

a:hover, a:focus {
    color: var(--red);
    text-decoration: underline;
}

@media (max-width: 600px) {
    body {
        padding: 1.5rem 0.5rem;
    }
    header h1 {
        font-size: 1.8rem;
    }
    main p {
        font-size: 0.9rem;
    }
    footer {
        font-size: 0.75rem;
    }
}
