/* CSS is how you can add style to your website, such as colors, fonts, and positioning of your
   HTML content. To learn how to do something, just try searching Google for questions like
   "how to change link color." */
:root {
    --background: #efedf7;
    --sheet-bg: #e6e3ef;
    --accent: #168243;
    --borders: #168243;
    --fg: black;

    --padding: 10px;
    --max-width: 700px;


    @media (prefers-color-scheme: dark) {
	--sheet-bg: #464c4e;
	--accent: #3c7353;
        --background: #272c2e;
	--fg: white;
    }
}

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

body {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: var(--max-width);
    margin: 0 auto;
    animation: scroll 10s linear infinite;
    background-color: var(--sheet-bg);
    background-image: radial-gradient(circle, var(--accent) 1.2px, transparent 1.2px);
    background-size: 15px 15px;

    color: var(--fg);
    text-decoration-color: var(--accent);
}
@keyframes scroll {
  100% {
      background-position: 150px 150px;
  }
}

@media (prefers-reduced-motion: reduce) {
    body {
	animation: none;
    }
}


#index {
    display: flex;
    flex-direction: column;
    height: 100vh;
}
    

main {
    gap: 10px;
    padding: var(--padding);
    outline: 1px dotted var(--borders);
    background-color: var(--background);
    margin-bottom: 0;
    width: 100%;
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-weight: 200;
    font-style: normal;
    text-align: justify;
    line-height: 1.4;
}

nav {
    width: 100%;
}

nav ul {
    display: flex;
    flex-direction: row;
    list-style-type: none;
    padding: 0;
    gap: 10px;
}
nav li {
    padding: var(--padding);
    outline: 1px dotted var(--borders);
    background-color: var(--background);
    flex-grow: 1;
    font-family: "Mea Culpa", cursive;
    font-size: 20pt;
    text-align: center;
}

footer {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: 10px;
    gap: 10px;
    
}

.icon {
    max-width: 250px;
    float: left;
    margin: 5px 10px 0px 0px;
}

@media only screen and (max-width: 500px) {
    .icon {
	max-width: 100%;
    }
}

main p {
    padding: 5px 0;
    margin: 0px;
}
b {
    font-weight: 300;
}
    

h1 {
    margin: 5px 0;
    font-style: normal;
    font-family: "Mea Culpa", cursive;
    font-weight: 400;
    font-size: 30pt;
}

a {
    text-decoration: underline dotted;
    transition: 0.25s;
    color: var(--accent);
}

h2 {
    font-family: "Mea Culpa", cursive;
    font-weight: 400;
}
h3 {
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-weight: 60;
    font-style: italic;
}


.section {
}

.section h2 {
    display: inline;
    font-size: 30pt;
}
.section p {
    display: inline;
    font-style: italic;
}
.title {
    margin-top: 10px;
}

.title h3 {
    display: inline;
    font-weight: 400;
}
.title p {
    display: inline;
    /* font-style: bold; */
}

.rating {
    text-align: center;
    font-size: 15pt;
}

.rating img {
    height: 1lh;
    vertical-align: bottom;
}

@media (prefers-color-scheme: dark) {
    .rating .bleb0 {
	filter: invert(100%);
    }
}

:lang(ja), :lang(zh) {
    font-family: "Noto Sans", sans-serif;
    font-weight: 200;
}

main, img {
    max-width: 100%;
}
.diagram:hover {
    -webkit-transform:scale(1.2); 
    transform:scale(1.2);
}
.diagram {
    -webkit-transition: all 0.7s ease; 
    transition: all 0.7s ease;
}
