body {
    max-width: 800px;
    margin: auto;
    padding: 1em;
    line-height: 1.6;
    background: #000;
    color: #d9ecff;
    font-family: Inter, system-ui, sans-serif;
}

a {
    color: #66ccff;
    text-decoration: underline;
}

a:hover {
    text-decoration: none;
}

.menu {
    padding: 0;
    margin-bottom: 1.5em;
    text-align: center;
}

.menu li {
    display: inline;
}

.menu a {
    color: #3399ff;
    padding: 4px 8px;
    border-radius: 5px;
}

.article-meta {
    color: #99ccff;
    margin-top: 0.5em;
    font-size: 0.9em;
    text-align: center;
}

footer {
    margin-top: 3em;
    font-size: 0.9em;
    text-align: center;
}

hr {
    border: none;
    border-top: 1px solid #3399ff;
    margin: 2em 0;
    opacity: 0.8;
}

pre {
    border: 1px solid #3399ff;
    padding: 1em;
    overflow-x: auto;
    background: #0a0a0a;
}

code {
    background: #111;
    padding: 2px 4px;
}

code, pre {
    font-family: "JetBrains Mono", monospace;
    font-size: 0.9em;
}

blockquote {
    background: #111;
    border-left: 3px solid #99ccff;
    padding: 0.5em 1em;
    color: #cceeff;
    margin: 1em 0;
}

img, iframe, video {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 1.5em auto;
}

.post-tags {
    margin: 10px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
}

.post-tags a {
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 15px;
    line-height: 1.2;
}

.site-header {
    border-bottom: 1px solid #3399ff;
    margin-bottom: 1em;
}

/* Fonts */

@font-face {
    font-family: Inter;
    src: url("/assets/fonts/Inter-Regular.woff2");
    font-display: swap;
}

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

/* Syntax highlighting */

.bg { color:#e6edf3;background-color:#0d1117; }
.chroma { color:#e6edf3;background-color:#0d1117;-webkit-text-size-adjust:none; }
.chroma .err { color:#f85149 }
.chroma .lnlinks { outline:none;text-decoration:none;color:inherit }
.chroma .lntd { vertical-align:top;padding:0;margin:0;border:0; }
.chroma .lntable { border-spacing:0;padding:0;margin:0;border:0; }
.chroma .hl { background-color:#6e7681 }
.chroma .lnt,
.chroma .ln {
    white-space:pre;
    -webkit-user-select:none;
    user-select:none;
    margin-right:0.4em;
    padding:0 0.4em;
    color:#6e7681;
}
.chroma .line { display:flex; }

.chroma .k,
.chroma .kd,
.chroma .kn,
.chroma .kr,
.chroma .kt { color:#ff7b72 }

.chroma .kc,
.chroma .kp,
.chroma .no,
.chroma .nl,
.chroma .py,
.chroma .nv,
.chroma .vc,
.chroma .vg,
.chroma .vi,
.chroma .vm { color:#79c0ff }

.chroma .nc,
.chroma .ne { color:#f0883e;font-weight:bold }

.chroma .nd,
.chroma .nf,
.chroma .fm { color:#d2a8ff;font-weight:bold }

.chroma .nt { color:#7ee787 }

.chroma .l,
.chroma .s,
.chroma .sb,
.chroma .sc,
.chroma .sd,
.chroma .s1,
.chroma .ss,
.chroma .m,
.chroma .mb,
.chroma .mf,
.chroma .mh,
.chroma .mi,
.chroma .il,
.chroma .mo { color:#a5d6ff }

.chroma .sa,
.chroma .dl,
.chroma .se,
.chroma .sh,
.chroma .sr { color:#79c0ff }

.chroma .o,
.chroma .ow { color:#ff7b72;font-weight:bold }

.chroma .c,
.chroma .ch,
.chroma .cm,
.chroma .c1,
.chroma .cp,
.chroma .cpf { color:#8b949e;font-style:italic }

.chroma .cs { color:#8b949e;font-weight:bold;font-style:italic }

.chroma .gd { color:#ffa198;background-color:#490202 }
.chroma .gi { color:#56d364;background-color:#0f5323 }
.chroma .gr { color:#ffa198 }

.chroma .gh,
.chroma .gu { color:#79c0ff;font-weight:bold }

.chroma .go,
.chroma .gp { color:#8b949e }

.chroma .gs { font-weight:bold }
.chroma .gt { color:#ff7b72 }
.chroma .gl { text-decoration:underline }
.chroma .w { color:#6e7681 }
