/* Make custom properties available in both document and shadow roots */
:host,
:root {
    --cell: #ededed;
    --cell-border: #ccc;
    --cell-present: #e9b600;
    --cell-absent: #b9b9b9;
    --cell-text: #717171;

    --keyboard-correct: var(--color-green-success);
    --keyboard-border-correct: var(--color-green-success--border);
    --keyboard-present: #ffe99a;
    --keyboard-border-present: #fdc264;
    --keyboard-missing: #848484;
    --keyboard-border-missing: #3a3a3a;
    --keyboard-text: #333333;
    --keyboard-used: var(--keyboard-text);

    --color-red-warning: #ffe4e4;
    --color-red-warning--border: #ffb5b5;
    --color-green-success: #dbffd9;
    --color-green-success-shine: #ecffeb;
    --color-green-success--border: #68c563;

    --button-callout: #ffe298;
    --background-light: #fff6d8;

    --gold: #ffcb4578;
    --silver: #aaefff60;
    --bronze: #b99c6e60;

    --button-color: var(--color-green-success);
    --button-border-color: var(--color-green-success--border);

    --button-danger-color: var(--keyboard-present);
    --button-danger-border-color: var(--keyboard-border-present);
    --ease-smooth: cubic-bezier(0.22, 1, 0.36, 1);

    --text-dark: rgb(127 99 0);
    --text-gray: rgb(127 127 127);

    --linear-gradient: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 10px,
        var(--background-light) 10px,
        var(--background-light) 20px
    );
}

@font-face {
    font-family: 'Jua';
    src: url('/assets/fonts/Jua-Regular.ttf');
}

@font-face {
    font-family: 'Montserrat';
    src: url('/assets/fonts/Montserrat-VariableFont_wght.ttf');
}

@font-face {
    font-family: 'LibreBaskerville';
    src: url('/assets/fonts/LibreBaskerville-Regular.ttf');
}

html,
body {
    font-family: sans-serif;
    margin: 0;
    min-height: 100dvh;
}

body {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    font-family: 'Montserrat', sans-serif;
    line-height: 1.6;
    color: #333;
}

h1,
h2,
h3,
h4,
p,
a,
ul,
li {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
}

main {
    padding: 0 15px;
}

h1 {
    font-size: 28px;
    border-bottom: 2px solid #eee;
    padding-bottom: 10px;
}

h2 {
    margin-top: 24px;
    font-size: 22px;
}

h3 {
    margin-top: 18px;
    font-size: 18px;
}

a {
    color: #0366d6;
}

.anchor {
    padding-top: 65px;
}

h2.anchor,
h3.anchor {
    margin-top: 0;
}

.smallText {
    font-size: 0.8rem;
    color: var(--keyboard-text);
    font-style: italic;
}

code {
    background: #f6f8fa;
    padding: 2px 4px;
    border-radius: 4px;
}

pages-menu {
    padding: 40px 0;
    margin-top: auto;
}

mooot-joc-page {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100vh;
    background-color: white;
}

/* Docs Page Layout */
html {
    scroll-behavior: smooth;
}

.docs-container {
    display: flex;
    gap: 2rem;
    padding: 1rem;
    max-width: 1024px;
    margin: 0 auto;
}

.docs-container main {
    flex: 1;
}

.docs-container aside {
    width: 240px;
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .docs-container {
        flex-direction: column-reverse;
    }

    .docs-container aside {
        width: 100%;
        position: static;
    }
}
