/* Color palette — matches Dagger.js Color and Jammed objects */
:root {
    --White: #f7f8fa;
    --Black: #101114;
    --Light: #acb3ca;
    --Middle: #6b707a;
    --Dark: #1c1d23;
    --Edit: #1b1c22;
    --Aqua: #51dbe5;
    --Blue: #396cff;
    --Violet: #de51f4;
    --Yellow: #f6d21e;
    --Pink: #ff7f8f;
    --Mint: #aff188;
    --Red: #f01f1c;
    --Green: #74bb46;
    --Orange: #fb8d18;
    --Sky: #6290ff;
}

@font-face {
    font-family: "Inter";
    src: url("/fonts/InterVariable.woff2") format("woff2");
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    src: url("/fonts/InterVariable-Italic.woff2") format("woff2");
    font-weight: 100 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "JetBrains Mono";
    src: url("/fonts/JetBrainsMono-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "JetBrains Mono";
    src: url("/fonts/JetBrainsMono-Italic.woff2") format("woff2");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "JetBrains Mono";
    src: url("/fonts/JetBrainsMono-Bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "JetBrains Mono";
    src: url("/fonts/JetBrainsMono-BoldItalic.woff2") format("woff2");
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

html {
    font-size: 19px;
    scrollbar-gutter: stable;
}

em {
    color: var(--Aqua);
}
strong {
    color: var(--Orange);
}

h1 {
    color: var(--Green);
}
h2 {
    color: var(--Yellow);
}
h3 {
    color: var(--Green);
}
h4 {
    color: var(--Orange);
}

time {
    color: var(--Blue);
    font-size: 0.9rem;
}

a {
    color: var(--Green);
    text-decoration-color: color-mix(in srgb, currentColor 33%, transparent);
}
a:visited {
    color: var(--Sky);
}

ul {
    color: var(--White);
    list-style-type: "- ";
}

body {
    margin: 0;
    min-height: 100vh;
    display: grid;
    grid-template-rows: auto 1fr auto;
    font-family: "Inter", sans-serif;
    background-color: var(--Dark);
    color: var(--Light);
}

/* Layout: full-bleed sections with centered content column */
header,
main,
footer {
    display: grid;
    grid-template-columns: 1fr min(1020px, 100%) 1fr;
}

.container {
    grid-column: 2;
    min-width: 0;
}

/* Main */
main .container {
    padding: 0.5rem 2.5rem 0 2.6rem;
}

/* Header */
header {
    background-color: var(--Black);
    margin-bottom: 0.5rem;
    position: relative;
    z-index: 1;
}

header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.3rem 2.6rem 0.4rem 0;
}

#site-logo img {
    height: 5rem;
    display: block;
    margin-bottom: -1.8rem;
}

/* Nav */
nav {
    display: flex;
    gap: 1.25rem;
    align-self: flex-end;
    transform: translateY(0.6rem);
}

nav a {
    font-size: 1.15rem;
    text-decoration: none;
}

nav a[href="https://barry.senki.se/dagger/latest"]
{
    color: var(--Mint);
}
nav a[href="/blog"] {
    color: var(--Sky);
}
nav a[href="https://www.youtube.com/@BarryTheFunkySeal/videos"]
{
    color: var(--Violet);
}
nav a[href="https://codeberg.org/gadfly16/Barry"]
{
    color: var(--Aqua);
}
nav a[href="/spec"] {
    color: var(--Yellow);
}

nav a:hover {
    color: var(--Pink);
}

/* Blog */
.subtitle {
    margin-top: -1rem;
}

.blog-entry h2 {
    margin-top: 0.5rem;
}

blockquote {
    border-left: 0.25rem solid var(--Blue);
    margin-left: 0;
    padding-left: 1rem;
    color: var(--White);
}

/* Code blocks */
pre,
code {
    font-family: "JetBrains Mono", monospace;
    font-size: 0.925rem;
    color: var(--White);
}

pre {
    background-color: var(--Black);
    color: var(--White);
    padding: 0.2rem 0.4rem 0.33rem 0.4rem;
    border-radius: 0.25rem;
    margin-left: -0.3rem;
    overflow-x: auto;
}

/* Footer */
footer {
    margin-top: 3.5rem;
    background-color: var(--Black);
}

footer .container {
    padding: 1.5rem 2.5rem 1.5rem 5rem;
    text-align: right;
}

.copyright {
    color: var(--Blue);
    font-size: 0.875rem;
    margin: 0;
}

/* Hero (index page only) */
header.hero {
    display: flex;
    justify-content: center;
    padding-top: 1.5rem;
}

#hero-logo img {
    height: 9rem;
    display: block;
    margin-bottom: -2.5rem;
    transform: translateX(-0.5rem);
}

/* Tagline */
#tagline {
    text-align: center;
    margin-top: 2.4rem;
    margin-bottom: 2rem;
    font-style: italic;
    color: var(--Green);
    font-size: 1.4rem;
}

/* Nav grid and cards */
.nav-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
}

.nav-card {
    flex: 0 1 12rem;
    background: var(--Black);
    border-radius: 0.4rem;
    padding: 1.25rem 1.5rem;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.nav-card:hover {
    opacity: 0.8;
}

.nav-card-title {
    font-size: 1.1rem;
}

.nav-card-desc {
    font-size: 0.875rem;
    color: var(--Light);
}

.nav-card[href="https://barry.senki.se/dagger/latest"] .nav-card-title
{
    color: var(--Mint);
}
.nav-card[href="/spec"] .nav-card-title {
    color: var(--Yellow);
}
.nav-card[href="/blog"] .nav-card-title {
    color: var(--Sky);
}
.nav-card[href="https://www.youtube.com/@BarryTheFunkySeal/videos"] .nav-card-title
{
    color: var(--Violet);
}
.nav-card[href="https://codeberg.org/gadfly16/Barry"] .nav-card-title
{
    color: var(--Aqua);
}

@media (max-width: 640px) {
    html {
        font-size: 16px;
    }

    #site-logo img {
        height: 3rem;
        margin-bottom: -1.23rem;
    }

    header .container {
        padding: 0.2rem 1rem 0.4rem 0;
    }

    nav {
        gap: 0.6rem;
    }

    nav a {
        font-size: 0.9rem;
    }

    main .container {
        padding: 0 1rem 0 1rem;
    }

    #hero-logo img {
        height: 6rem;
        margin-bottom: -1.5rem;
    }
}

.youtube-embed {
    width: 100%;
    max-width: 30rem;
}
