:root {
    /* Colors from Catcuppin Mocha: https://github.com/catppuccin/catppuccin */
    --base: #1e1e2e;
    --crust: #11111b;
    --text: #cdd6f4;
    --blue: #89b4fa;
    --teal: #94e2d5;
    --green: #a6e3a1;
    --yellow: #f9e2af;
    --red: #f38ba8;
}

@font-face {
    font-family: Agave;
    src: url("../fonts/Agave/AgaveNerdFontMono-Regular.ttf");
}

@font-face {
    font-family: Agave;
    src: url("../fonts/Agave/AgaveNerdFontPropo-Bold.ttf");
    font-weight: bold;
}

body {
    background-color: #1e1e2e;

    font-family: Agave, "Google Sans Code", 'Courier New', monospace;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    margin: 0;

    color: var(--text)
}

/* Skip content code from
[hiddenlink.html, N. Khemka-Dolan, Nov. 30, 2025]
*/
#skip a {
    position: absolute;
    top: -10000px;
    left: -10000px;
}

#skip a:focus {
    position: absolute;
    top: 0; /* Overridden in mobile.css */
    left: 0; /* Overridden in tablet.css & desktop.css */
    background: white;
    color: black;
    padding: 0.5rem;
}

h1 {
    font-size: 1.75em;
}

.breadcrumb {
    margin: 0;
}

a, a p{
    color: var(--text);
    text-decoration: underline;
}

a:visited, a:visited p{
    color: var(--blue);
}

a:hover, a:hover p {
    color: var(--red);
}

header {
    background-color: var(--crust);
    padding: 1em;
    box-sizing: content-box;
}

header p {
    margin: 0;
    padding: 0.5rem 0 0.5rem 0;
}

#call-to-action > div {
    display: flex;
    flex-direction: row;
    align-items: center;
    text-decoration: none;
    justify-content: center;
    background-color: var(--green);
    border-radius: 0.2rem;
}

#call-to-action p {
    color: var(--crust);
    text-decoration: none;
}

#call-to-action .icon {
    filter: brightness(0)
        saturate(100%)
        invert(4%)
        sepia(6%)
        saturate(4697%)
        hue-rotate(201deg)
        brightness(95%)
        contrast(94%);
}

#call-to-action:hover div{
    background-color: var(--teal);
}

#name {
    margin: 0 0 0.2em 0;
    border-bottom: 0.2em solid var(--text);
    border-radius: 0.2em;
    font-size: 1em;
}

.icon {
    filter: brightness(0)
        saturate(100%)
        invert(82%)
        sepia(4%)
        saturate(1998%)
        hue-rotate(195deg)
        brightness(106%)
        contrast(91%);
    
    width: 1.5em;
}

.main-container {
    padding: 1em;
}

.main-container h1 {
    border-bottom: 0.2em solid var(--text);
    border-radius: 0.2em;
}

.main-container p {
    line-height: 1.25em;
}

hr {
    color: var(--text);
}

#subpage-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100vh;
}

footer {
    display: flex;
    width: 100%;
    background-color: var(--crust);
    align-items: center;
    justify-content: space-around;
    font-size: 0.75em;
    z-index: 1;
}

#contact-form p {
    width: 100%;
    height: 90%;
}

#contact-form textarea {
    width: 96%;
    height: 90%;
}

.contrast-buffer {
    display: inline-block;
    margin-top: 0.5em;
}

.contrast-buffer:focus-within {
    border: solid 0.2em var(--blue);
    border-radius: 0.2rem;
}

input:focus {
    border: solid 0.2em var(--crust);
    border-radius: 0.2rem;
}

#showcase-pic img {
    width: 100%;
    border: solid 0.2em var(--crust);
    border-radius: 0.4rem;
}

#showcase-pic figcaption {
    font-style: italic;
}