@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Roboto+Slab:wght@100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css");
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-jp-dynamic-subset.min.css");

* {
    outline: none;
    box-sizing: border-box;
    word-break: break-word;
    table-layout: fixed;
    font-family: "Roboto", "Pretendard Variable", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

html, body {
    width: 100%;
    height: 100%;
    margin: 0;
    display: flex;
    justify-content: center;
    background-color: #fff;
}

body {
    max-width: 1500px;
}

.loader {
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    visibility: visible;
    opacity: 1;
    transition: .2s;
    will-change: auto;
    z-index: 2;
}

.loader.act + .head {
    z-index: 3;
}

.loader.act + .head > .title {
    margin: 140px 0;
}

.loader.dis, .loader-small.dis {
    opacity: 0;
    visibility: hidden;
    transition: .2s;
}

.loader-small {
    width: 100%;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    visibility: visible;
    opacity: 1;
    transition: .2s;
    will-change: auto;
    z-index: 2;
    position: fixed;
    bottom: 0;
    height: 60px;
    backdrop-filter: blur(10px);
    padding: 10px 0 0;
    mask-image: linear-gradient(to top,rgb(0, 0, 0) 50%, rgba(0,0,0, .8) 70%, rgba(0, 0, 0, 0));
}

.loader-small > .load-svg {
    width: 25px;
}

.loader-small.bottom {
    bottom: 0px;
}

.header {
    display: none;
    position: fixed;
    z-index: 3;
    width: 100%;
    align-items: center;
    justify-content: center;
    padding: 20px 0 35px;
    backdrop-filter: blur(10px);
    mask-image: linear-gradient(to bottom,rgb(0, 0, 0) 60%, rgba(0,0,0, .8) 80%, rgba(0, 0, 0, 0));
    transition: .2s;
}

.header.act {
    background: linear-gradient(to bottom, #fff, #ffffffbd, #0000);
}

.header > .logo {
    width: 85px;
    margin: 0;
}

.header.dis {
    transform: translateY(-70px);
    transition: .2s;
}

.body {
    display: flex;
    width: 100%;
}

.tab {
    width: 225px;
    min-width: 225px;
    padding: 40px 30px;
    border: solid;
    border-width: 0 1px 0 0;
    border-color: #0000001a;
}

.logo {
    width: 120px;
    margin-bottom: 40px;
    cursor: pointer;
}

.tabs-tab {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    cursor: pointer;
}

.tab-icon {
    width: 27.5px;
}

.tabs-tab-title {
    margin-left: 15px;
    font-size: 1.1rem;
}

.tabs-tab-title.act {
    font-weight: 600;
}

.main:has(.loader.act) {
    overflow: hidden;
}

.main {
    padding: 40px 0;
    width: 100%;
    overflow-y: scroll;
    position: relative;
}

.head {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

.loader.dis + .head {
    position: unset;
}

.cover {
    position: absolute;
    top: 0;
    left: 0;
    height: 400px;
    width: 100%;
    filter: blur(100px);
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
    background-size: cover;
    background-position: bottom;
    opacity: 1;
    transition: .5s;
}

.cover.dis {
    opacity: 0;
    transition: .5s;
}

.title {
    font-size: 2rem;
    font-family: "CabinetGrotesk-ExtraBold" !important;
    margin: 100px 0 140px;
    text-align: center;
    color: #000000c7;
}

.contents {
    margin: 0 auto;
    box-sizing: border-box;
}

.content {
    width: 350px;
    margin-bottom: 50px;
    display: none;
}

.content:hover {
    background: #00000006;
    border-radius: 20px;
}

.content.act {
    display: block;
}

.poster {
    width: 100%;
    border-radius: 20px;
    border: solid;
    border-width: 2px;
    border-color: #0000001a;
    box-shadow: 0 0 15px 0 #0000001a;
    cursor: pointer;
    transition: .2s;
}

.poster:hover {
    transform: scale(1.075);
    border-radius: 0;
    margin-bottom: 17px;
    transition: .2s;
}

.poster:hover + .info > .c-t {
    text-decoration: underline;
}

.info {
    padding: 11px;
}

.c-n {
    font-weight: 400;
    font-size: .9rem;
    color: #00000087;
    font-family: "Inter" !important;
    cursor: pointer;
}

.c-t {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.3rem;
    margin: 3px 0 5px;
    font-family: "Roboto Slab", "Pretendard Variable", "Pretendard JP Variable", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
    cursor: pointer;
}

.c-t:hover {
    text-decoration: underline;
}

.c-c {
    font-size: .95rem;
    margin-top: 5px;
    font-family: "Inter", "Pretendard Variable", "Pretendard JP Variable", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
}

.c-tags {
    margin-top: 25px;
    font-size: .9rem;
    color: #00000087;
}

.category {
    text-transform: uppercase;
}

.c-s {
    margin-top: 15px;
    display: flex;
    align-items: center;
    font-size: .9rem;
    cursor: pointer;
}

.save {
    height: 14px;
}

.save-text {
    margin-left: 5px;
}

.footer {
    transition: .2s;
    opacity: 1;
    z-index: 3;
    display: none;
    position: fixed;
    bottom: 0;
    width: 100%;
    align-items: center;
    justify-content: center;
    background: linear-gradient(to top, #ffffffb3, #0000);
    backdrop-filter: blur(10px);
    mask-image: linear-gradient(to top,rgb(0, 0, 0) 60%, rgba(0,0,0, .8) 80%, rgba(0, 0, 0, 0));
}

.footer.dis {
    transform: translateY(80px) scale(.95);
    opacity: 0;
    transition: .2s;
}

.footer > .tabs {
    display: flex;
    width: 100%;
    padding: 30px 20px 10px 20px;
    align-items: center;
    justify-content: space-around;
}

.footer > .tabs > .tabs-tab {
    margin: 0;
    flex-direction: column;
    justify-content: center;
    width: 50px;
}

.footer > .tabs > .tabs-tab > .tab-icon {
    width: 22px;
}

.footer > .tabs > .tabs-tab > .tabs-tab-title {
    margin: 0;
    font-size: .65rem;
    text-transform: uppercase;
    margin-top: 5px;
}

@media screen and (max-width: 1100px) {
    .content {
      width: 300px;
    }
  }

@media screen and (max-width: 860px) {
    .content {
        width: 350px;
        margin-bottom: 100px;
    }

    .poster:hover {
        transform: scale(1);
        border-radius: 20px;
    }

    .c-s {
        margin-top: 17px;
        font-size: .9rem;
        padding: 10px 20px;
        background-color: #f2f2f2;
        border-radius: 20px;
        justify-content: center;
        position: absolute;
        left: 0;
        width: 100%;
    }

    .save-text {
        margin-left: 8px;
        font-size: .95rem;
    }
}

@media screen and (max-width: 670px) {
    .tab {
        display: none;
    }

    .loader-small {
        bottom: 50px;
    }

    .poster:hover {
        transform: scale(1);
        border-radius: 20px;
        margin-bottom: 0px;
    }

    .header {
        display: flex;
    }

    .footer {
        display: flex;
    }

    .title {
        margin: 100px 0 110px;
    }

    .c-t {
        font-size: 1.1rem;
    }

    .c-n {
        font-size: .875rem;
    }

    .c-c {
        font-size: .925rem;
    }

    .c-tags {
        font-size: .875rem;
    }
}

@media screen and (max-width: 400px) {
    .content {
        width: 300px;
    }
}