@import url("./components/main-box-top.css");
@import url("./components/otoshi-ikebo.css");
@import url("./components/pages.css");

html {
    --color-main: white;
    --color-sub: black;
    --item-gap: 10px;
    --item-radius: 5px;
    --header-size: 60px;
    --border-frame: 2px solid var(--color-sub);
    font-family: "sictype", sans-serif;
    font-weight: 400;
    font-style: normal;

    * {
        -webkit-tap-highlight-color: transparent;
        user-select: none;
        outline: none;
        -webkit-touch-callout: none;
        -webkit-user-select: none;
        user-select: none;
    }

    body {
        min-height: 100dvh;
        transition: filter 0.5s ease;
    }
    body.ura-sando {
        filter: invert(1);
        transition: filter 1.5s ease;
    }

    a {
        color: var(--color-sub);
    }

    ul {
        padding-left: 1rem;
    }
}

html, body {
    width: 100%;
    height: 100%;
    margin: 0;
    overflow: hidden;
    overscroll-behavior: none;
    background-color: var(--color-main);
}

header {
    display: flex;
    flex-direction: row;
    padding: var(--item-gap) 15px;
    justify-content: space-between;
    position: relative;

    .site-title {
        display: inline-block;
        margin: 0;
        white-space: nowrap;
        font-size: 2rem;

        a {
            text-decoration: none;
        }
    }

    .h-rightbox {
        display: flex;
        align-items: center;
        position: absolute;
        right: 15px;
        top: 15px;

        .ikb-space {
            position: relative;

            .ikb-frame {
                position: absolute;
                width: 60px;
                padding: 5px 10px;
                border: var(--border-frame);
                text-align: right;
                right: 0;
                top: 0;
            }

            #ikb-count {
                padding: 7px;
                margin-right: 2rem;
            }
        }
    }
}

.wrapper {
    margin: 0 auto;

    @media screen and (min-width:1000px) {
        width: 1000px;
    }

    main {
        display: flex;
        flex-direction: column;
        margin: var(--item-gap);
        margin-top: 0;
        height: calc(100dvh - var(--header-size) - var(--item-gap)*3);
        min-height: 0;

        section.top {
            flex: 1;
            min-height: 0;
            display: flex;
            flex-direction: column;

            div.main {
                flex: 1;
                min-height: 0;
                position: relative;
                border-radius: var(--item-radius);
                overflow: hidden;
                background-color: var(--color-main);

                #rough-frame {
                    position: absolute;
                    inset: 0;
                    width: 100%;
                    height: 100%;
                    z-index: 10;
                    pointer-events: none;
                }

                .main-fixed {
                    position: absolute;
                    inset: 0;
                    overflow: hidden;
                    pointer-events: none;
                    margin: 5px;
                }

                .main-scroll {
                    position: relative;
                    z-index: 1;
                    width: calc(100% - 10px);
                    height: calc(100% - 10px);
                    margin: 5px;

                    .inbox {
                        background-color: rgba(255, 255, 255, 0.9);
                        padding: var(--item-gap);
                        height: calc(100% - var(--item-gap)*2);
                        overflow-y: auto;
                        overflow-x: hidden;
                        overscroll-behavior-y: contain;
                    }
                }
            }
            div.message {
                display: flex;
                align-items: center;
                height: 2rem;
                margin: 1rem 5px;

                p {
                    margin: 0;
                    font-size: 1rem;
                }
            }
        }

        nav {
            flex-shrink: 0;
            display: flex;
            flex-direction: row;
            gap: var(--item-gap);
            margin: 0 5px;

            .nav-btn {
                width: 6rem;
                height: 4rem;
                border: var(--border-frame);
                border-radius: var(--item-radius);
                overflow: hidden;

                a {
                    display: flex;
                    width: 100%;
                    height: 100%;
                    align-items: center;
                    justify-content: center;
                    color: var(--color-sub);
                    background-color: var(--color-main);
                    text-decoration: none;
                    touch-action: manipulation;
                }
                a:active {
                    color: var(--color-main);
                    background-color: var(--color-sub);
                }
            }
            .nav-btn:has(a:active) {
                color: var(--color-main);
                background-color: var(--color-sub);
            }
        }
    }
}

footer {
    display: none;
    padding: var(--item-gap);
    border-top: 1px solid var(--color-main-light);

    div.credit {
        p {
            margin: 0;
        }
    }
}