/* root/default variables */
/* dark theme is default because this is my site, not yours */
:root {
    --font-colour: #e6e6e6;
    --link-colour: #fb94c6;
    --bg-colour: #0c0614;
    --container-colour: #20243e;
}

/* light theme */
[data-theme="light"] {
    --font-colour: #000;
    --link-colour: #154cf0;
    --bg-colour: #f3f3f3;
    --container-colour: #f9deeb;
}

/* Fonts */
@font-face { /* For toki pona */
    font-family: NasinNanpa;
    src: url(fonts/nasin-nanpa-4.0.2.otf);
}

@font-face { /* For everything else */
    font-family: Inter;
    src: url(fonts/InterVariable.ttf);
}

@font-face {
    font-family: STV5730A;
    src: url(fonts/STV5730A.ttf);
}

html {
    background-color: #0c0614;
    background-color: var(--bg-colour);
    color: #e6e6e6;
    color: var(--font-colour);
    transition: all 0.4s ease-in-out;
    height: 100%;
}

body {
    display: flex;
    justify-content: space-around;
    gap: 10px;
    font-family: Inter, NasinNanpa;
    font-size: 24px;
    margin: 8px;
    height: calc(100% - 16px);
}

.box {
    padding: .5em;
}

.container {
    background-color: #20243e;
    background-color: var(--container-colour);
    border: .2em solid #e6e6e6;
    border-color: var(--font-colour);
    border-radius: .5em;
    padding: .5em;
    padding-top: 1em;
    margin-top: 1.25em;

    position: relative;
    text-align: start;
}

.container > h3 {
    position: absolute;
    top: -0.8em;
    margin: 0;
    font-weight: bold;
    font-size: 1.6em;
    -webkit-text-fill-color: #e6e6e6;
    -webkit-text-fill-color: var(--font-colour);
    -webkit-text-stroke: 7px #0c0614;
    -webkit-text-stroke-color: var(--bg-colour);
    paint-order: stroke fill; /* Fix stroke order */
}

#main {
    flex-grow: 2;
    text-align: center;
}

.side {
    min-width: 26ex;
}

h1 {
    font-family: STV5730A, NasinNanpa;
    font-size: 48px;
}

.chooser {
    display: inline-block;
    border-radius: 15px;
    border: 2px solid #e6e6e6;
    border-color: var(--font-colour);
    height: 1.5em;
    width: 1.5em;
    text-align: center;
    line-height: 1.4em;
}

#badges_container {
    text-align: center;
}

/* Make those pixels kiki */
#badges_container img {
    image-rendering: auto;
    image-rendering: crisp-edges;
    image-rendering: pixelated;
    image-rendering: -webkit-optimize-contrast;
    /* Defining the size prevents pop-in due to flex */
    width: 88px;
    height: 31px;
}

#accounts_container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .1em;
}
#accounts_container > a > svg {
    width: 3.5ex;
    fill: #e6e6e6;
    fill: var(--font-colour);
}

hr {
    color: #e6e6e6;
    color: var(--font-colour);
}

h4 {
    margin: .75em 0;
}

/* Smaller font for content of containers */
.container > ul, p {
    font-size: 20px;
    margin: 0;
    margin-bottom: 0.5em;
}

a {
    color: #77f9f2;
    color: var(--link-colour);
    cursor: pointer;
    text-decoration: underline;
}

/* The title gets a lil funky at night */
#title:lang(tok) {
    margin:0.3em 0 0.3em 0;
}

/* Hide content by default */
.content {
    display: none;
}

/* Show it if they've been activated
   https://www.youtube.com/watch?v=HBURlcNpfoo */
.content.active {
    display: block;
}

#appearance_container {
    text-align: end;
}

#appearance_container > div > hr {
    margin: 6px 0;
}

/* Make the labels for the appearance selectors float left */
#appearance_container > div > span > span {
    float: left;
}

.custom_pointer {
    cursor: pointer;
}

.cursor_chooser img {
    top: 5px;
    left: 1px;
    position: relative;
    width: 1.1em;
    height: 1.1em;
}

@keyframes jump {
  0% {
    transform: scale(1);
    /* box-shadow: 0 1px 2px rgba(0,0,0,.15); */
  }
  100% {
    transform: scale(1.25);
    /* box-shadow: 0 4px 20px rgba(0,0,0,.1); */
  }
}