@charset "UTF-8";

/*!

    YDITS for Web

    Copyright (C) 2022-2026 よね/Yone
    Licensed under the Apache License 2.0.

    https://github.com/YDITS/YDITS-Web

*/

:root {
    --max-width-large: 64rem;
    --max-width-medium: 48rem;
    --font-family: "Local Noto Sans JP", "Noto Sans JP", "Roboto", sans-serif;
    --font-size: 87.5%;
    --font-weight: 300;
    --font-weight-semi-bold: 700;
    --font-weight-bold: 900;
    --font-style: normal;

    --primary-color: hsl(152, 100%, 60%);
    --primary-color-dim: hsl(from var(--primary-color) h s calc(l - 12));
    --secondary-color: hsl(208 100% 42%);
    --secondary-color-dim: hsl(from var(--secondary-color) h s calc(l - 12));
    --background-color: hsl(0, 0%, 13%);
    --text-color: hsl(0, 0%, 100%);
    --focus-color: orange;
    --error-color: hsl(0 65% 50%);
    --link-color: var(--primary-color);

    --transition-duration: 300ms;

    --bgcolor: var(--background-color);
    --color: var(--text-color);
    --color-link: var(--link-color);

    /* header */
    --header-width-default: 100dvw;
    --header-height-default: 2rem;
    --header-width: env(titlebar-area-width, var(--header-width-default));
    --header-height: env(titlebar-area-height, var(--header-height-default));
    --header-border-weight: 1px;
    --header-bgcolor: #1f1f1f;

    /* footer */
    --footer-height: 7rem;

    scroll-behavior: smooth;
    font-family: var(--font-family);
    font-size: var(--font-size);
    font-weight: var(--font-weight);
    line-height: 1.5;
    color: var(--text-color);

    @media (prefers-reduced-motion: reduce) {
        --transition-duration: 0ms;
        scroll-behavior: revert;
    }
}

*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font: inherit;
    text-decoration: unset;
    color: unset;

    &:focus-visible {
        outline: 4px solid var(--focus-color);
        outline-offset: 4px;
    }
}

body {
    position: relative;
    margin: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    background-color: var(--bgcolor);

    user-select: none;
}

h1 {
    font-size: 1.5rem;
    font-weight: var(--font-weight-semi-bold);
}

h2 {
    font-size: 1.2rem;
    font-weight: var(--font-weight-semi-bold);
}

h3 {
    font-size: 1rem;
    font-weight: var(--font-weight-semi-bold);
}

a {
    text-decoration: none;
    color: var(--link-color);

    @media (hover: hover) and (pointer: fine) {
        &:hover {
            text-decoration: underline;
        }
    }
}

/* header */

header {
    display: flex;
    justify-content: center;
    align-items: center;

    box-sizing: border-box;
    width: var(--header-width);
    height: var(--header-height);
    overflow: hidden;

    background-color: var(--header-bgcolor);
    border-bottom: var(--header-border-weight) solid #2b2b2b;

    -webkit-app-region: drag;
}

.header__title {
    font-size: 1rem;
}

/* main */

main {
    width: 100%;
    height: 100%;
}

/* footer */

footer {
    display: flex;
    flex-direction: column;
    justify-content: center;

    align-items: center;

    width: 100%;
    height: var(--footer-height);
    overflow: hidden;

    background-color: #101010;
    color: #ffffff;
}

/* a */

a {
    text-decoration: none;
    color: var(--color-link);

    &:hover {
        text-decoration: underline;
    }
}

/* h1 - h6 */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: unset;
}

/* .material-symbols-outlined */

.material-symbols-outlined {
    font-variation-settings:
        'FILL' 0,
        'wght' 400,
        'GRAD' 0,
        'opsz' 48;
    font-size: 1.7rem;

    &.open-in-new {
        display: inline-block;
        font-size: 1em;
    }
}

img {
    &.material-symbols-outlined {
        width: 1.7rem;
        height: 1.7em;
    }
}