:root {
    --color-bk: #3C3C3C;
    --color-gy: #787878;
    --color-wh: #ffffff;

    --color-bg: #EBF1FF;
    --color-hl: #4078DC;
    --color-hl-sub: #80ACFF;

    --color-bg2: #FFF524;
    --color-hl2: #FF4078;
    --color-hl2-sub: #FF80A0;

    --font-l: 24px;
    --font-m: 20px;
    --font-s: 16px;

    --size-xl: 120px;
    --size-l: 80px;
    --size-m: 60px;
    --size-s: 40px;
    --size-xs: 20px;

    --shadow: 0px 2px 3px #3C3C3C26;
}

@font-face {
    font-family: 'HakgyoansimDunggeunmiso';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/2408-5@1.0/HakgyoansimDunggeunmisoTTF-R.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'HakgyoansimAllimjang';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/2408-5@1.0/HakgyoansimAllimjangTTF-R.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
}

/* ---------------- 공통 ---------------- */

::selection {
    background-color: var(--color-bg);
    color: var(--color-hl);
}

* {
    margin: 0;
    padding: 0;
    list-style: none;
    text-decoration: none;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    min-width: 360px !important;
    max-width: 100vw;
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    background-color: var(--color-bg);
}

.mo-only{
    display: none;
}

/* ---------------- PC 좌측 섹션 ---------------- */

#side{
    max-width: 320px;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding-top: var(--size-xl);
    margin-right: var(--size-l);
    margin-left: var(--size-s);
}

#side > img{
    width: 100%;
    object-fit: contain;
}

#side > img:nth-of-type(1){
    margin-bottom: var(--size-xs);
    filter: drop-shadow(0px 6px 3px #3C3C3C0D);
}

/* ---------------- 메인 섹션 ---------------- */

#main{
    position: relative;
    max-width: 640px;
    width: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding: var(--size-s) var(--size-s) var(--size-xs) var(--size-s);
    background-image: url('../img/bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.logo{
    position: absolute;
    top: var(--size-s);
    right: var(--size-s);
    height: var(--size-s);
    object-fit: contain;
}

.title{
    margin-top: var(--size-xs);
    max-width: 560px;
    width: 100%;
    object-fit: contain;
    filter: drop-shadow(var(--shadow));
}

#main > div{
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    margin-top: var(--size-s);
}

.message{
    position: relative;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    margin-bottom: var(--size-xs);
}

.message > span{
    font-family: 'HakgyoansimDunggeunmiso', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Open Sans', 'Helvetica Neue', sans-serif;
    font-size: var(--font-s);
    font-weight: 400;
    color: var(--color-gy);
    padding-right: 8px;
    letter-spacing: calc(-0.0666 * var(--font-s));
    text-align: right;
}

.message > div{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
    text-align: right;
    padding: 12px 20px;
    margin-right: 12px;
    border-radius: 4px;
    background-color: var(--color-wh);
}

.message > div > p{
    font-family: 'HakgyoansimDunggeunmiso', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Open Sans', 'Helvetica Neue', sans-serif;
    font-size: var(--font-l);
    font-weight: 400;
    color: var(--color-bk);
    letter-spacing: calc(-0.0666 * var(--font-l));
    margin-bottom: 8px;
}

.message > div a{
    position: relative;
    font-family: 'HakgyoansimAllimjang', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Open Sans', 'Helvetica Neue', sans-serif;
    font-size: var(--font-m);
    font-weight: 400;
    color: var(--color-wh);
    padding: 10px 24px;
    background: linear-gradient(180deg, var(--color-hl-sub), var(--color-hl));
    border-radius: 60px;
}

.message > div > div{
    display: flex;
    justify-content: center;
    align-items: center;
}

.message > div > div > a:last-of-type{
    padding: 0;
    background: none;
    margin-left: 10px;
    transition: 0.2s;
    line-height: 0;
}

.message > div > div > a:last-of-type:hover{
    background: none;
    opacity: 0.75;
}

.message > div > div > a:last-of-type > img{
    height: 44px;
    object-fit: contain;
}

.message > div a > span{
    position: relative;
    bottom: 2px;
}

.message > div a:hover{
    background: linear-gradient(180deg, var(--color-hl), var(--color-hl));
}

.message > img{
    position: absolute;
    top: 6px;
    right: 0px;
    width: 14px;
    object-fit: contain;
}

.godragon{
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}

.godragon > img{
    width: 64px;
    object-fit: contain;
}

.godragon > div{
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    margin-left: 12px;
    margin-top: 22px;
}

.godragon > div > p{
    font-family: 'HakgyoansimDunggeunmiso', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Open Sans', 'Helvetica Neue', sans-serif;
    font-size: var(--font-m);
    font-weight: 400;
    color: var(--color-bk);
    letter-spacing: calc(-0.0666 * var(--font-m));
}

.godragon-message{
    position: relative;
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    margin-top: 12px;
}

.godragon-message > span{
    font-family: 'HakgyoansimDunggeunmiso', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Open Sans', 'Helvetica Neue', sans-serif;
    font-size: var(--font-s);
    font-weight: 400;
    color: var(--color-gy);
    padding-left: 8px;
    letter-spacing: calc(-0.0666 * var(--font-s));
}

.godragon-message > div{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
    padding: 12px 20px;
    margin-left: 4px;
    border-radius: 4px;
    background-color: var(--color-bg2);
}

.godragon-message > div > p{
    width: 100%;
    font-family: 'HakgyoansimDunggeunmiso', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Open Sans', 'Helvetica Neue', sans-serif;
    font-size: var(--font-l);
    font-weight: 400;
    color: var(--color-bk);
    text-align: left !important;
    line-height: 125%;
    letter-spacing: calc(-0.066 * var(--font-l));
    margin-bottom: 8px;
}

.godragon-message > div > a{
    font-family: 'HakgyoansimAllimjang', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Open Sans', 'Helvetica Neue', sans-serif;
    font-size: var(--font-m);
    font-weight: 400;
    color: var(--color-wh);
    padding: 10px 30px;
    background: linear-gradient(180deg, var(--color-hl2-sub), var(--color-hl2));
    border-radius: 60px;
}

.godragon-message > div > a:hover{
    background: linear-gradient(180deg, var(--color-hl2), var(--color-hl2));
}

.godragon-message > img{
    position: absolute;
    top: 6px;
    left: -8px;
    width: 14px;
    object-fit: contain;
}

footer{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #C8D4F0;
    margin-top: var(--size-s);
    border-radius: 20px;
    padding: 8px 12px;
}

footer > p{
    font-family: 'HakgyoansimDunggeunmiso', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Open Sans', 'Helvetica Neue', sans-serif;
    font-size: var(--font-s);
    font-weight: 400;
    color: var(--color-gy);
    text-align: center;
    letter-spacing: calc(-0.02 * var(--font-s));
}

@media screen and (max-width: 1080px) {
    #side{
        display: none;
    }
    
}

@media screen and (max-width: 640px) {
    :root {
        --font-l: 22px;
        --font-m: 18px;
        --font-s: 16px;
    
        --size-xl: 108px;
        --size-l: 72px;
        --size-m: 54px;
        --size-s: 36px;
        --size-xs: 18px;
    }

    #main{
        padding: var(--size-s) var(--size-xs) var(--size-xs) var(--size-xs);
    }

    .title{
        width: calc(100% - var(--size-s));
    }

    .logo{
        right: var(--size-xs);
    }

    .message > div > div > a:last-of-type{
        margin-left: 8px;
    }

    .message > div > div > a:last-of-type > img{
        height: 42px;
    }
}

@media screen and (max-width: 580px) {
    :root {
        --font-l: 21px;
        --font-m: 17px;
        --font-s: 15px;
    }

    .message > div > div > a:last-of-type{
        margin-left: 8px;
    }

    .message > div > div > a:last-of-type > img{
        height: 40px;
    }
}

@media screen and (max-width: 540px) {
    :root {
        --font-l: 19px;
        --font-m: 16px;
        --font-s: 13px;
    
        --size-xl: 96px;
        --size-l: 64px;
        --size-m: 48px;
        --size-s: 32px;
        --size-xs: 16px;
    
        --shadow: 0px 2px 2px #3C3C3C26;
    }

        .message > div > div > a:last-of-type{
        margin-left: 8px;
    }

    .message > div > div > a:last-of-type > img{
        height: 39px;
    }
}

@media screen and (max-width: 480px) {

    #main{
        padding-top: var(--size-xs);
    }

    #main > div{
        margin-top: 28px;
    }

    .logo{
        top: 12px;
    }

    .message > span{
        letter-spacing: calc(-0.08 * var(--font-s));
    }

    .message > div{
        margin-right: 4px;
        padding: 12px 16px;
    }

    .message > img{
        right: -4px;
    }

    .message > div > p{
        letter-spacing: calc(-0.08 * var(--font-l));
    }

    .message > span{
        padding-right: 6px;
    }

    .godragon > img{
        width: 48px;
    }

    .godragon-message > div{
        margin-left: 0px;
        padding: 14px 16px;
    }

    .godragon-message > span{
        padding-left: 6px;
    }

    .godragon > div{
        margin-top: 18px;
        margin-left: 8px;
    }

    .message > div  a{
        padding: 8px 18px;
    }

    .godragon-message > div a{
        padding: 8px 24px;
    }

    .logo{
        height: calc(0.9 * var(--size-s));
        object-fit: contain;
    }


        .message > div > div > a:last-of-type{
        margin-left: 6px;
    }

    .message > div > div > a:last-of-type > img{
        height: 35px;
    }
    
}

@media screen and (max-width: 440px) {
    :root {
        --font-l: 17px;
        --font-m: 15px;
        --font-s: 11px;

        --shadow: 0px 1px 2px #3C3C3C26;
    }

    footer > p{
        font-size: 12px;
    }

            .message > div > div > a:last-of-type{
        margin-left: 6px;
    }

    .message > div > div > a:last-of-type > img{
        height: 34px;
    }
}

@media screen and (max-width: 400px) {


    .mo-only{
        display: block;
    }

    .message > div, .godragon-message > div{
        padding: 13px 18px;
    }
}

@media screen and (max-width: 380px) {
    :root {
        --font-l: 16px;
        --font-m: 14px;
        --font-s: 11px;

        --size-xl: 84px;
        --size-l: 56px;
        --size-m: 42px;
        --size-s: 28px;
        --size-xs: 14px;
    }

    .godragon > img{
        width: 40px;
    }

    .godragon > div{
        margin-top: 14px;
    }
    
    .message > div > div > a:last-of-type{
        margin-left: 6px;
    }

    .message > div > div > a:last-of-type > img{
        height: 33px;
    }
}