@font-face {
    font-family: 'Silkscreen';
    src: url('/fonts/Silkscreen/Silkscreen-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Silkscreen';
    src: url('/fonts/Silkscreen/Silkscreen-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}
@font-face {
    font-family: 'Jersey';
    src: url('/fonts/Jersey/Jersey25-Regular.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'Jersey';
    src: url('/fonts/Jersey/Jersey20-Regular.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'Jersey';
    src: url('/fonts/Jersey/Jersey15-Regular.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Jersey';
    src: url('/fonts/Jersey/Jersey10-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

:root {
    font-family: var(--system-ui-fonts);
    font-size: var(--font-size, 18px);
}

/* Typography */
h1 { font-size: 2.0rem; }
h2 { font-size: 1.75rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.125rem; }

p { margin: 0.75em 0; }

a {
    font-family: inherit;
    font-weight: inherit;
    color: inherit;
    text-decoration: none;
    box-shadow: inset 0 var(--underline-offset, -0.2em) var(--link-underline-color);
    transition: box-shadow 0.25s ease-in-out;
    cursor: hand;
    pointer-events: auto;
}
a:visited { color: inherit; }
a:hover {
    box-shadow: inset 0 var(--underline-offset-hover, -0.5em) var(--link-underline-color);
    transition: box-shadow 0.25s ease-in-out;
    cursor: pointer;
    pointer-events: auto;
}

blockquote {
    margin: var(--gutter-1x) 0;
    padding: var(--gutter-1x) var(--gutter-2x);
}

/* Utility styles */
[hidden] { display: none; }

button {
    display: block;
    padding: 5px;
}

[data-hyper-mention] { font-weight: bold; }
