/* --- oatbite by rye --- */

@font-face { 
	font-family: 'Pixel Script Pro'; 
	src: url("/fonts/pf-pixelscript-pro-regular.ttf");
	font-weight: normal;
	font-style: normal; 
	font-display: swap; 
}

@font-face { 
	font-family: 'Cross Stitch Cursive'; 
	src: url("/fonts/cross-stitch-cursive-w95-rg.ttf");
	font-weight: normal;
	font-style: normal; 
	font-display: swap; 
}

@font-face { 
	font-family: 'Retrogression'; 
	src: url("/fonts/retrogression-regular.ttf");
	font-weight: normal;
	font-style: normal; 
	font-display: swap; 
}

/* -- DEFAULTS -- */

:root {

    --bg-color: rgba(255,255,255, 0.95); 
        --container-bg-color: #ffffff;
    --title-color: #353535;
    --heading-color: #355361;
        --heading-bg-color: #DDE4DE;
    --text-color: #353535;
    --accent-color: #4C8787;
    --link-color: #4C8787;
    --border-color: rgba(51, 87, 59, 0.5);
    --hr-color: rgba(148, 172, 153, 0.3);
}

body {
    margin: 0;
    padding-top: 52px; /* navbar height */
    overflow-x: hidden;
    overflow-y: scroll;
    justify-content: left;
    align-items: center;
    position: relative;

/* -- background -- */
    background-image: url(assets/blueberry-background.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-color: var(--background-color);
    background-position: center 18%;

/* -- text -- */
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    font-size: .8em;
    color: var(--text-color);
    line-height: 1.3em;
}

a {
    color: var(--link-color);
    text-decoration: none;
    font-style: normal;
}

a:hover {
    text-decoration: underline;
    font-style: none;
    color: var(--link-color);
}

/*
Source - https://stackoverflow.com/a/14821134
Posted by moettinger, modified by community. See post 'Timeline' for change history
Retrieved 2026-04-20, License - CC BY-SA 3.0
*/

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px dashed var(--hr-color);
    margin: .2em 0.5em;
    padding-left: 3px;
}

/* -- SPACERS -- */

.spacer-75 {
    display: block;
    height: 75px;
}

/* -- LANDING -- */

.landing-container {
    display: flex;
    flex-direction: column;
    width: 700px;;
    margin: 0 auto;
    gap: 10px;
    position: relative;
}

.landing-row {
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.landing-header {
    width: 100%;
    height: 140px;
    border: 1px solid var(--border-color);
    background: var(--bg-color);
    overflow: hidden;
    position: relative;
}

    .landing-header img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        opacity: 0.3;
    }

    .landing-header::after {
        content: '';
        position: absolute;
        inset: 0;
        background: 
            radial-gradient(ellipse at center, transparent 20%, var(--bg-color) 100%),
            rgba(19, 82, 28, 0.4);
        pointer-events: none;
    }

    .header-text {
        font-family: 'Retrogression', monospace;
        position: absolute;
        inset: 0;
        z-index: 1;
        text-align: center;
        font-size: 7em;
        color: #E9F5EA;
        text-shadow: 2px 2px 4px var(--border-color);
        padding-top: 55px;
    }

.landing-nav {
    width: 100%;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid var(--border-color);
    background: var(--bg-color);
    position: relative;
}

.landing-nav::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: #c7c5c6;
    background-image: url("assets/3px-tile.png");
    opacity: 0.1;
    pointer-events: none;
    z-index: 1;
}

    .button {
        background-color: white;
        border: 1px dashed var(--border-color);
        border-radius: 999px;
        padding: 2px 10px;
        font-family: inherit;
        font-size: 0.75rem;
        color: var(--link-color);
        cursor: pointer;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        gap: 5px;
        white-space: nowrap;
    }

    .button:hover {
        background-color: var(--bg-color);
    }

.landing-left-sidebar {
    width: 180px;
    height: 300px;
    border: 1px solid var(--border-color);
    background: var(--bg-color);
    position: relative;
}

.landing-left-sidebar::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: #c7c5c6;
    background-image: url("assets/3px-tile.png");
    opacity: 0.1;
    pointer-events: none;
    z-index: 1;
}

    .landing-left-sidebar-column {
        display: flex;
        flex-direction: column;
        gap: 0px;
        height: 300px;
    }

        .latest-thought {
            width: auto;
            margin: 7px;
            border: 1px dashed var(--border-color);
            padding: 5px;
        }

            /* --- status cafe --- */

            .statuscafe {
                padding: .5em;
            }

            .statuscafe-username {
                margin-bottom: .5em;
            }

            .statuscafe-content {
                margin: 0 1em 0.5em 1em;
            }

        .site-updates {
            flex: 1;
            margin-left: 7px;
            margin-right: 7px;
            margin-bottom: 7px;
            border: 1px dashed var(--border-color);
            padding: 5px;
            overflow-x: hidden;
            overflow-y: scroll;
        }

            .site-updates-paragraph-text {
                font-family: 'Inter', system-ui, -apple-system, sans-serif;
                color: var(--text-color);
                padding-top: 5px;
            }

        .links {
            width: auto;
            height: 85px;
            margin-left: 7px;
            margin-right: 7px;
            margin-bottom: 7px;
            border: 1px dashed var(--border-color);
            padding: 5px;
            overflow-x: hidden;
            overflow-y: hidden;
        }

            .website {
                width: 60px;
            }

            .profile {
                flex: 1;
                text-align: right;
            }

.landing-main {
    flex: 1;
    border: 1px solid var(--border-color);
    background: var(--bg-color);
    display: flex;
    flex-direction: column;
    height: 300px;
    position: relative;
}

.landing-main::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: #c7c5c6;
    background-image: url("assets/3px-tile.png");
    opacity: 0.1;
    pointer-events: none;
    z-index: 1;
}

    .welcome {
        width: auto;
        margin: 7px;
        border: 1px dashed var(--border-color);
        padding: 5px;
    }

    .to-do {
        width: 150px;
        height: 66px;
        display: flex;
        flex-direction: column;
        margin-left: 7px;
        margin-bottom: 7px;
        border: 1px dashed var(--border-color);
        padding: 5px;
        overflow-x: hidden;
        overflow-y: scroll;
        line-height: .2em;
    }

    .to-do .paragraph-text label {
        display: flex;
        align-items: center;
        cursor: pointer;
        gap: 5px;
    }

        .to-do .paragraph-text input[type="checkbox"] {
            accent-color: var(--border-color);
            cursor: pointer;
        }

    .my-button {
        flex: 1;
        display: flex;
        flex-direction: column;
        margin-right: 7px;
        margin-bottom: 7px;
        border: 1px dashed var(--border-color);
        padding: 5px;
    }

        .my-button .paragraph-text img {
            display: block;
            margin: auto;
            padding-top: 5px;
        }

    .etc {
        flex: 1;
        width: auto;
        margin-left: 7px;
        margin-right: 7px;
        margin-bottom: 7px;
        border: 1px dashed var(--border-color);
        padding: 5px;
        text-align: center;
    }

        .etc .paragraph-text {
            margin: auto;
            color: var(--border-color);
            font-size: .9em;
            line-height: 1.3em;
            padding-top: 10px;
        }

.landing-right-sidebar {
    width: 180px;
    height: 300px;
    border: 1px solid var(--border-color);
    background: var(--bg-color);
    position: relative;
}

.landing-right-sidebar::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: #c7c5c6;
    background-image: url("assets/3px-tile.png");
    opacity: 0.1;
    pointer-events: none;
    z-index: 1;
}

    .landing-right-sidebar-column {
        display: flex;
        flex-direction: column;
        gap: 0px;
        height: 300px;
    }

        .currently {
            width: auto;
            margin: 7px;
            border: 1px dashed var(--border-color);
            padding: 5px;
        }

            .doing {
                width: 60px;
                color: var(--accent-color);
                font-size: .9em;
            }

            .what {
                flex: 1;
                text-align: right;
                font-size: .9em;
            }

        .clubs {
            height: 110px;
            margin-left: 7px;
            margin-right: 7px;
            margin-bottom: 7px;
            border: 1px dashed var(--border-color);
            padding: 5px;
            overflow-x: hidden;
            overflow-y: scroll;
        }

            .clubs-paragraph-text {
                font-family: 'Inter', system-ui, -apple-system, sans-serif;
                color: var(--text-color);
                padding-top: 5px;
                text-align: center;
                font-size: .9em;
            }


.landing-footer {
    width: auto;
    height: 30px;
    border: 1px solid var(--border-color);
    background: var(--bg-color);
    padding: 5px;
    overflow: hidden;
    position: relative;
}

.landing-footer::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: #c7c5c6;
    background-image: url("assets/3px-tile.png");
    opacity: 0.1;
    pointer-events: none;
    z-index: 1;
}

    .footer-text {
        display: inline-block;
        white-space: nowrap;
        padding-top: 7px;
        animation: ticker 175s linear infinite;
        animation-delay: -20s;
        position: absolute;
        cursor: pointer;
        color: var(--border-color);
    }

    .footer-text:hover {
        animation-play-state: paused;
    }

    @keyframes ticker {
        0%   { transform: translateX(100vw); }
        100% { transform: translateX(calc(-100% - 100vw)); }
    }

/* -- TEXT STYLES -- */

.heading-text {
    display: flex;
    align-items: center;
    gap: 5px;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    color: var(--text-color);
    background-color: var(--heading-bg-color);
    font-weight: bold;
    position: sticky;
    top: 0;
    z-index: 1;
}

.paragraph-text {
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    color: var(--text-color);
    padding-top: 5px;
}