@font-face {
    font-family: 'JetBrainsMono Nerd Font';
    src: url('JetBrainsMonoNLNerdFont-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

:root {
    --tokyo-bg: #1a1b26;
    --tokyo-bg-storm: #24283b;
    --tokyo-fg: #c0caf5;
    --tokyo-fg-dark: #a9b1d6;
    --tokyo-comment: #565f89;
    --tokyo-blue: #7aa2f7;
    --tokyo-cyan: #7dcfff;
    --tokyo-green: #9ece6a;
    --tokyo-magenta: #bb9af7;
    --tokyo-purple: #9d7cd8;
    --tokyo-orange: #ff9e64;
    --tokyo-yellow: #e0af68;
    --tokyo-red: #f7768e;
    --tokyo-teal: #1abc9c;
    --tokyo-border: #292e42;
}

body {
    font-family: 'JetBrainsMono Nerd Font', monospace;
    background-color: var(--tokyo-bg);
    color: var(--tokyo-fg);
    max-width: 900px;
    margin: 0 auto;
    padding: 20px;
}

* {
    color: var(--tokyo-fg);
}

a {
    color: var(--tokyo-fg);
}

code {
    font-family: 'JetBrainsMono Nerd Font', monospace;
    font-size: 0.9em;
    background-color: var(--tokyo-bg-storm);
    color: var(--tokyo-orange);
    padding: 0.15em 0.4em;
    border-radius: 4px;
    border: 1px solid var(--tokyo-border);
    white-space: pre-wrap;
}

pre {
    background-color: var(--tokyo-bg-storm);
    border: 1px solid var(--tokyo-border);
    border-radius: 8px;
    padding: 1em;
    overflow-x: auto;
    margin: 1.2em 0;
    line-height: 1.6;
}

pre code {
    background: none;
    border: none;
    padding: 0;
    color: var(--tokyo-fg-dark);
    font-size: 0.88em;
    display: block;
    white-space: pre;
    counter-reset: line;
}

pre code .line {
    display: block;
    padding: 0 0.5em;
}

pre code .line:hover {
    background-color: rgba(122, 162, 247, 0.07);
}

pre code .line::before {
    counter-increment: line;
    content: counter(line);
    display: inline-block;
    width: 2em;
    margin-right: 1em;
    text-align: right;
    color: var(--tokyo-comment);
    user-select: none;
}

.tn-keyword {
    color: var(--tokyo-purple);
}

.tn-string {
    color: var(--tokyo-green);
}

.tn-function {
    color: var(--tokyo-blue);
}

.tn-comment {
    color: var(--tokyo-comment);
    font-style: italic;
}

.tn-number {
    color: var(--tokyo-orange);
}

.tn-tag {
    color: var(--tokyo-red);
}

.tn-attr {
    color: var(--tokyo-cyan);
}

.tn-variable {
    color: var(--tokyo-yellow);
}