@font-face {
    font-family: "candy1000";
    src: url("/misc/inconsolata_variable.woff2") format("woff2-variations");
    font-weight: 100 900;
    font-stretch: 50% 200%;
    font-style: normal;
    font-display: optional;
}

html {
    scrollbar-gutter: stable;
}

body {
    background-color: #080604;
    box-sizing: border-box;
    color: #e6dfd3;
    font-family: "candy1000", inconsolata, monospace;
    font-weight: 400;
    font-stretch: 100%;
    font-size: clamp(1.125rem, 1rem + 0.625vw, 1.5rem);
    line-height: 1.35;
    margin: 0 auto;
    max-width: 80ch;
    min-height: 100vh;
    padding: 1.5rem;
    width: 100%;
}

img {
    height: auto;
    max-width: 100%;
}

a.external {
    color: #e6dfd3;
    position: relative;
    transition: all 0.3s ease;
    text-decoration-line: underline;
    text-decoration-color: #4f93b8;
}

a.external img {
    vertical-align: text-top;
    border: none;
    text-decoration: none;
    background: none;
    padding: 0;
    margin: 0;
    display: inline;
    margin-left: 2ex;
    width: 2ex;
    height: 2ex;
}

a.external:hover img {
    filter: drop-shadow(0 0 0.4ex #9fd3f5);
    transition: all 0.3s ease;
}

a.external:visited {
    border-bottom-color: #1b3a4a;
}

a.external:hover {
    text-decoration-color: #9fd3f5;
    text-shadow: 0 0 8px #9fd3f5;
}

a.internal {
    border-bottom: 1px solid #ffcc80;
    position: relative;
    text-decoration: none;
    transition: all 0.3s ease;
    color: #e6dfd3;
}

a.internal:visited {
    border-bottom-color: #5f3a08;
}

a.internal:hover {
    border-bottom-color: #ffcc80;
    text-shadow: 0 0 8px #ffcc80;
}

.navigation {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    flex-shrink: 1;
    flex-wrap: nowrap;
    gap: clamp(5px, 1.5vw, 15px);
    justify-content: center;
    margin: 0 auto;
    max-width: 100%;
    min-width: 0;
    padding: 0.75rem 0;
    text-shadow: none;
    width: 100%;
}

.navigation a {
    align-items: center;
    border: 1px solid #5f3a08;
    border-radius: 2px;
    color: #ffcc80;
    display: flex;
    flex: 1 1 auto;
    flex-shrink: 1;
    font-size: clamp(10px, 3.5vw, 2rem);
    font-weight: 700;
    justify-content: center;
    letter-spacing: 1px;
    min-width: 0;
    overflow: visible;
    padding: 0.4rem 0.5rem;
    text-align: center;
    text-decoration: none;
    text-overflow: clip;
    text-shadow: none;
    transition: 0.15s ease;
    white-space: nowrap;
}

.navigation a[aria-current="page"] {
    border-color: #ffcc80;
}

.navigation a:hover {
    background-color: #c48a2c;
    border-bottom-color: #5f3a08;
    color: #080604;
    text-shadow: none;
}

.navigation a:focus,
.navigation a:active {
    background-color: #ffcc80;
    color: #080604;
    text-shadow: none;
}

.content {
    padding-inline: 20px;
    padding-top: clamp(15px, 2vh, 30px);
}

footer {
    align-items: center;
    border-top: 1px solid #1b3a4a;
    color: #4f93b8;
    display: flex;
    font-size: 0.75rem;
    justify-content: center;
    letter-spacing: 0.05em;
    margin-top: 5rem;
    padding: 2rem 1rem;
    text-align: center;
}
