@font-face {
	font-family: 'Maple Mono';
	src: url('fonts/MapleMono-Regular.woff2') format('woff2');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@view-transition {
  	navigation: auto;
}

html {
        background-color: #020202;
}

body {
        font-family: 'Maple Mono', monospace;
        line-height: 1.6;
        color: #FFFFFF;
        background-color: #020202;
        margin: 0;
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 5vh 0;
        box-sizing: border-box;
}

main {
        background-color: #11110f;
        border: 2px dotted #f5c2e7;
        border-radius: 2em;
        width: fit-content;
        min-width: 35ch;
        max-width: 75ch;
        margin: auto;
        padding: 2rem 3rem;
        box-sizing: border-box;
	box-shadow: 0 0 40px 8px rgba(245, 194, 231, 0.15);
	view-transition-name: main-container;
}

nav.links {
        margin-left: -2.5rem;
	margin-top: -0.8rem;
        margin-bottom: 1.5em; 
}

h1 + br, h2 + br, h3 + br {
    	display: none;
}

ul + br {
        display: none;
}

ul {
        margin-top: 0.2em;
        margin-bottom: 0.5em;
}

h2 {
        color: #00ffcc;
	margin-bottom: 0.1em;
}

a {
        color: #f5c2e7;
        padding: 1px 4px;
        border-radius: 0.5em;
        text-decoration: none;
        transition: all 0.2s ease-in-out;
}

a:hover {
        background-color: #ea76cb;
        color: #0d0d0d;
}

pre, code {
        font-family: inherit;
        margin: 0;
        padding: 0;
        background-color: transparent;
}

.music {
        background-color: #000000;
        border: 2px dotted aqua;
        border-radius: 10px;
        font-size: 1.2rem;
        max-width: fit-content;
        padding: 0 5px;
        margin: 10px 0;
}

.links {
        max-width: fit-content;
        padding: 0 5px;
        margin: 10px 0;
}

.gem-link + br {
        display: none;
}

.gem-link {
        margin-top: 0;
        margin-bottom: 0.5em;
}

footer {
        color: #acb0be;
        margin-top: 25px;
        font-size: 0.8rem;
}

::view-transition-group(main-container) {
	animation-duration: 0.35s;
	animation-timing-function: ease-in-out;
}

@media (max-width: 800px) {
        html, body {
                background-color: #11110f;
                display: block;
                padding: 0; 
        }

        main {
                border: none;
                border-radius: 0;
                width: 100%;
                min-width: 0;
                margin: 0;
                padding: 1.5rem;
		box-shadow: none;
        }

        nav.links {
                margin-left: 0;
                margin-top: 0;
        }
}
