@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Mono:wght@100..900&display=swap');
/*japanese font*/
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&family=Noto+Sans+Mono:wght@100..900&display=swap');

body {
    margin: 0;
    background-color: var(--LightGray);
}

a {
    text-decoration: none;
    color: var(--Red);
}

p {
    margin: 0;
    font-family: var(--NormalFamilyFont);
}

label {
    color: var(--DarkGray);
    font-size: var(--NormalFont);
    font-family: var(--NormalFamilyFont);
    font-weight: bold;
    margin-top: 0.3em;
    margin-bottom: 0.3em;
}

.jp-w {
    font-family: var(--JapaneseFontFamily) !important;
}

.wrapper {
    display: grid;
    grid-template-areas:
        "header header header"
        "content content content"
        "footer footer footer";
    grid-template-columns: auto auto auto;
    grid-template-rows: auto auto auto;
    min-height: 100%;
}

.content {
    grid-area: content;
    color: var(--DarkGray);
    font-size: var(--NormalFont);

    display: grid;
    grid-template:
        ". description ." auto
        ". introduction ." auto ". all-contents-wrapper ." auto
        ". comments ." auto /
        minmax(0.8em, 1fr) minmax(300px, 6fr) minmax(0.2em, 1fr);
    row-gap: 0.4em;
}

.description {
    grid-area: description;
    display: flex;
    flex-direction: column;
}

.title {
    font-size: var(--TitleFont);
    color: var(--Red);
    align-content: center;
    justify-items: center;
    margin-top: 0.4em;
    margin-bottom: 0.4em;
}

.title * {
    font-size: var(--TitleFont);
    font-family: var(--NormalFamilyFont);
}

h1 {
    font-size: var(--TitleFont);
}

.date {
    display: flex;
    flex-direction: column;
    margin-top: 0.6em;
    margin-bottom: 0.6em;
    gap: 0.8em;
}

.date * {
    display: flex;
}

.date>time {
    font-size: var(--NormalFont);
    font-family: var(--NormalFamilyFont);
    font-weight: bold;
    color: var(--DarkGray);
}

.date>form {
    display: flex;
    align-items: center;
    justify-content: center;
}

.fav-button {
    border: none;
    background-color: var(--LightGray);
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    padding: 1em;
}
button:hover {
  background-color: color-mix(in srgb, var(--LightGray) 95%, black);
  transition: 0.3s;
}
button:active {
  background-color: color-mix(in srgb, var(--LightGray) 95%, white);
  transform: scale(0.95);
  transition: 0.3s;
}

.tag {
    display: flex;
    flex-direction: row;
    gap: 0.5em;
    font-size: var(--NormalFont);
    color: var(--DarkGray);
}

.tag>h2 {
    background-color: var(--White);
    color: var(--Red);
    border-radius: 30px;
    border: solid 2px var(--DarkGray);
    padding: 0.3em;
    padding-left: 0.6em;
    padding-right: 0.6em;
    font-size: var(--NormalFont);
    font-family: var(--NormalFamilyFont);
}

.introduction {
    grid-area: introduction;
    font-family: var(--NormalFont);
    color: var(--DarkGray);
    margin-top: 0.6em;
    margin-bottom: 0.6em;
}

.helper-link {
    color: var(--Red);
}

.all-contents-wrapper {
    grid-area: all-contents-wrapper;
    display: flex;
    flex-direction: column;
    gap: 0.4em;
}

.container-image {
    grid-area: image;
    display: flex;
    object-fit: cover;
    height: 100%;
    align-content: center;
    justify-items: center;

}

.container-image>img {
    display: flex;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px;
}

.written-content {
    grid-area: written-content;
    white-space: pre-line;
    color: var(--DarkGray);
    font-size: var(--NormalFont);
}
.written-content * {
    list-style: circle;
    font-family: var(--NormalFamilyFont);
}

.comment-header {
    display: flex;
    flex-direction: row;
    gap: 1em;
}

.comments {
    grid-area: comments;
    display: flex;
    flex-direction: column;
    gap: 0.6em;
    margin-bottom: 1em;
}

.comment {
    display: grid;
    grid-template-areas:
        "comment-name comment-date delete-btn"
        "written-comment written-comment delete-btn";
    grid-template-columns: 5fr 3fr 1fr;
    grid-template-rows: 1fr auto;
    border: 2px solid var(--Gray);
    border-radius: 14px;
    background-color: var(--White);
    padding: 0.4em;
}

.comment * {
    display: flex;
}

.comment-name {
    grid-area: comment-name;
    font-weight: bold;
}

.comment-date {
    grid-area: comment-date;
}

.delete-btn {
    grid-area: delete-btn;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
}

.delete-button {
    display: none;
    height: 34px;
    width: 34px;
    background-color: var(--OptionsColor);
    border: none 0px;
    padding: 0.4em;
    border-radius: 50px;
}

.delete-button:hover {
  background-color: color-mix(in srgb, var(--OptionsColor) 85%, black);
  transition: 0.3s;
}

.delete-button:active {
  background-color: color-mix(in srgb, var(--OptionsColor) 90%, black);
  transform: scale(0.93);
  transition: 0.3s;
}

.comment:hover {
    .delete-button {
        display: flex;
        cursor: pointer;
    }

    .delete-button:active {
        background-color: var(--Gray);
    }
}

.written-comment {
    grid-area: written-comment;
    padding-top: 0.4em;
}

.user-comments {
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-items: center;

}

.comment-input {
    display: flex;
    flex-direction: row;
    gap: 0.2em;
    align-items: stretch;
    color: var(--PureLightGray);
}

.text-area {
    flex: 1;
    resize: none;
    padding: 0.4em;
    border: 2px solid var(--Gray);
    background-color: var(--White);
    border-radius: 14px;
    min-width: 400px;
}

@media (max-width: 700px) {
    .text-area {
        min-width: 300px;
    }
}

@media (max-width: 500px) {
    .text-area {
        min-width: 150px;
    }
}

@media (max-width: 250px) {
    .text-area {
        min-width: 100px;
    }
}

#commentsTitle {
    font-size: var(--MediumFont);
}

.comment-button {
    border: 2px solid var(--Red);
    border-radius: 28px;
    background-color: var(--LightGray);
    color: var(--Red);
    font-size: var(--NormalFont);
    font-family: var(--NormalFamilyFont);
    padding: 0.4em;
    padding-left: 0.8em;
    padding-right: 0.8em;
}

.comment-button:hover {
    cursor: pointer;
    color: var(--DarkGray);
    background-color: color-mix(in srgb, var(--Red) 95%, black);
    transition: 0.3s;
}

.comment-button:active {
    background-color: color-mix(in srgb, var(--Red) 95%, white);
    transform: scale(0.96);
    transition: 0.3s;
}

.marker1{
    color: var(--Marker1);
}
.marker2{
    color: var(--Marker2);
}
.marker3{
    color: var(--Marker3);
}
.marker4{
    color: var(--Marker4);
}
.marker5{
    color: var(--Marker5);
}

:root {
    /*color*/
    --Red: rgb(196, 64, 64);
    --Gray: rgb(161, 161, 161);
    --DarkGray: rgb(66, 66, 66);
    --DarkGray2: rgb(31, 31, 31);
    --LightGray: rgb(247, 247, 247);
    --PureLightGray: rgb(45, 45, 45);
    --OptionsColor: rgb(255, 255, 255);
    --White: rgb(255, 255, 255);
    --LightRed: rgb(75, 30, 30);
    --DarkRed: rgb(121, 17, 17);

    --Marker1:rgba(216, 28, 28, .9);
    --Marker2:rgba(238, 241, 50, .9);
    --Marker3:rgba(86, 214, 54, .9);
    --Marker4:rgba(62, 122, 212, .9);
    --Marker5:rgba(250, 94, 47, .9);

    /*font*/
    --TitleFont: clamp(0.5rem + 2vw, 1rem + 5vw, 2rem + 6vw);
    --MediumFont: clamp(0.35rem + 1vw, 0.5rem + 2.5vw, 1rem + 1vw);
    --NormalFont: clamp(0.35rem, 0.6rem + 1vw, 1.25rem);

    --NormalFamilyFont: "Noto Sans Mono", monospace;
    --JapaneseFontFamily: "Kosugi Maru", sans-serif;
}

.dark-theme {
    --Red: rgb(196, 64, 64);
    --Gray: rgb(222, 222, 222);
    --DarkGray: rgb(206, 206, 206);
    --LightGray: rgb(45, 45, 45);
    --PureLightGray: rgb(45, 45, 45);
    --White: rgb(29, 29, 29);
    --OptionsColor: rgb(29, 29, 29);
    transition: all 0.3s ease;
}