@font-face{
    font-family:'Inconsolata';
    font-style:normal;
    font-weight:400;
    font-display:swap;
    src:local("Inconsolata"),url("https://fonts.gstatic.com/s/inconsolata/v32/QldgNThLqRwH-OJ1UHjlKENVzlm-WkL3GZQmAwPyya15.woff2") format("woff2")
}
@font-face{
    font-family:'Inconsolata';
    font-style:normal;
    font-weight:700;
    font-display:swap;
    src:local("Inconsolata Bold"),local("Inconsolata-Bold"),url("https://fonts.gstatic.com/s/inconsolata/v32/QldgNThLqRwH-OJ1UHjlKENVzlm-WkL3GZQmAwPyya15.woff2") format("woff2")
}
@font-face{
    font-family:'icons';
    src:url("../fonts/icons.woff2?9008467") format("woff2"),url("../fonts/icons.woff?9008467") format("woff"),url("../fonts/icons.ttf?9008467") format("truetype");
    font-weight:normal;
    font-style:normal;
    font-display:block
}
[class^="icon-"]:before,[class*=" icon-"]:before{
    font-family:"icons";
    font-style:normal;
    font-weight:normal;
    speak:none;
    display:inline-block;
    text-decoration:inherit;
    width:1em;
    margin-right:.2em;
    text-align:center;
    font-variant:normal;
    text-transform:none;
    line-height:1em;
    margin-left:.2em;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale
}
.icon-arrow-left:before{
    content:'\e800'
}
.icon-arrow-right:before{
    content:'\e801'
}
.icon-menu:before{
    content:'\e803'
}
.icon-location:before{
    content:'\e805'
}
.icon-link:before{
    content:'\e806'
}
.icon-rss:before{
    content:'\e807'
}
.icon-star:before{
    content:'\e808'
}
.icon-twitter:before{
    content:'\f099'
}
.icon-facebook:before{
    content:'\f09a'
}
.icon-gplus:before{
    content:'\f0d5'
}
:root{
    --color-primary: #36D995;
    --color-primary-active: #2DB77E;
    --color-text: #595B66;
    --color-border: #E1E2E6;
    --color-dark: #1F2026;
    --color-medium: #363740;
    --color-light: #9D9FA6;
    --color-white: #fff;
    --color-border-light: #D4D5D9;
    --color-bg: #F2F3F5;
    --font-primary: 'Noto Serif KR', 'Noto Serif JP', 'Noto Serif SC', serif;
    --font-mono: 'Inconsolata', monospace;
    /* Ghost custom fonts support (GS051) — Admin > Design > Fonts */
    --gh-font-body: var(--font-primary);
    --gh-font-heading: var(--font-primary);
}
body{
    font:300 1em / 1.5em var(--gh-font-body, var(--font-primary));
    color:var(--color-text);
    font-optical-sizing: auto;
}
::-moz-selection,::selection{
    color:#222;
    background:#D6EDFF;
    text-shadow:none
}
a{
    color:inherit;
    text-decoration:none;
    font-weight:400;
    transition:all ease-out 0.2s
}
a:hover,a:focus{
    color:var(--color-dark)
}
.post-content{
    display:flex;
    flex-direction:column;
    align-items:center
}
.post-content>*{
    min-width:100%;
    max-width:100%;
    box-sizing:border-box
}
.post-content>*:last-child{
    margin-bottom:0
}
.post-content>*:first-child{
    margin-top:0
}
.post-content a{
    border-bottom:2px solid var(--color-primary)
}
.post-content a:hover,.post-content a:focus{
    border-color:var(--color-primary-active)
}
.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{
    text-rendering:optimizeLegibility;
    color:var(--color-dark);
    font-family:var(--gh-font-heading, var(--font-primary))
}
.post-content h1 a,.post-content h2 a,.post-content h3 a,.post-content h4 a,.post-content h5 a,.post-content h6 a{
    font-weight:inherit;
    color:inherit
}
.post-content h1{
    font-size:2em;
    line-height:1em;
    margin:1em 0
}
.post-content h2{
    font-size:1.75em;
    line-height:1.143em;
    margin:1.143em 0
}
.post-content h3{
    font-size:1.5em;
    line-height:1.33333em;
    margin:1em 0
}
.post-content h4{
    font-size:1.25em;
    line-height:1.2em;
    margin:1.2em 0
}
.post-content p{
    margin:0 0 2em
}
.post-content ul{
    list-style:none
}
.post-content li{
    position:relative
}
.post-content ul>li:before,.post-content ol>li:before{
    position:absolute;
    width:2em;
    margin-left:-3em;
    font-size:1em;
    font-weight:400;
    line-height:1.5em;
    text-align:right;
    color:var(--color-dark)
}
.post-content ul>li:before{
    margin-top:0.125em;
    content:'*'
}
.post-content ol{
    list-style-type:none;
    counter-reset:item
}
.post-content ol>li:before{
    content:counter(item) ". " !important;
    counter-increment:item
}
.post-content ol,.post-content ul{
    padding-left:3em;
    margin:0 0 2em
}
.post-content ol ol,.post-content ol ul,.post-content ul ol,.post-content ul ul{
    padding-left:1.5em;
    margin:0 0 1em
}
.post-content dl{
    margin:0 0 2em
}
.post-content dl dt{
    font-size:0.875em;
    line-height:1.143em;
    font-weight:700;
    margin-bottom:0.571em;
    color:var(--color-dark)
}
.post-content dl dd{
    margin-left:1em;
    margin-bottom:1.5em
}
.post-content hr{
    display:block;
    height:1px;
    margin:0 0 2em;
    padding:0;
    background:var(--color-border);
    border:0
}
.post-content blockquote{
    margin:0 0 2em;
    padding:0 1em;
    box-sizing:border-box;
    border-left:0.25em solid var(--color-border-light);
    font-style:italic;
    font-weight:400;
    color:var(--color-text);
    background:transparent
}
.post-content blockquote *{
    margin:1em auto;
    color:inherit
}
.post-content blockquote *:first-child{
    margin-top:0
}
.post-content blockquote *:last-child{
    margin-bottom:0
}
.post-content em,.post-content i{
    font-style:italic;
    color:var(--color-medium)
}
.post-content em a,.post-content i a{
    font-weight:inherit;
    font-style:inherit;
    color:inherit
}
.post-content strong,.post-content b{
    font-weight:700;
    color:var(--color-medium)
}
.post-content strong a,.post-content b a{
    font-weight:inherit;
    color:inherit
}
.post-content small{
    font-size:0.9em
}
.post-content mark{
    background-color:#FFC336
}
.post-content code,.post-content tt{
    position:relative;
    top:-1px;
    padding:3px 6px;
    margin:-1px 2px;
    font-family:'Inconsolata', monospace;
    font-size:0.875em;
    line-height:1.143em;
    white-space:pre-line;
    background:var(--color-border);
    color:#000;
    font-weight:400;
    border-radius:2px
}
.post-content pre{
    margin:0 0 2em;
    width:100%;
    padding:1em;
    font-family:'Inconsolata', monospace;
    white-space:pre;
    overflow:auto;
    background:var(--color-light);
    color:#fff;
    box-sizing:border-box
}
.post-content pre code,.post-content pre tt{
    position:static;
    top:auto;
    font-size:1em;
    line-height:1.5em;
    white-space:-moz-pre-wrap;
    white-space:pre-wrap;
    vertical-align:inherit;
    border:none;
    padding:0;
    background:transparent
}
.post-content pre.codeblock{
    position:relative;
    padding:1em;
    overflow:hidden
}
.post-content pre.codeblock code{
    display:block;
    border:0;
    padding:1.5em;
    margin:-1em;
    margin-left:2em;
    white-space:inherit;
    overflow-x:auto;
    background:var(--color-border)
}
.post-content pre.codeblock .lines{
    position:absolute;
    width:3em;
    height:100%;
    left:0;
    top:0;
    padding:1.5em 0;
    border-right:1px solid var(--color-border-light);
    font-size:1em;
    line-height:1.5em;
    text-align:right;
    box-sizing:border-box;
    background:var(--color-border);
    -webkit-user-select:none;
    user-select:none;
    cursor:default
}
.post-content pre.codeblock .lines .line{
    display:block;
    padding-right:0.5em;
    color:var(--color-light)
}
.post-content kbd{
    display:inline-block;
    margin:0 2px 4px;
    padding:1px 8px;
    border:#ccc 1px solid;
    color:#666;
    text-shadow:#fff 0 1px 0;
    font-size:0.875em;
    font-weight:bold;
    background:var(--color-bg);
    border-radius:4px;
    box-shadow:0 1px 0 rgba(0,0,0,0.2),0 1px 0 0 #fff inset
}
.post-content table{
    width:100%;
    max-width:100%;
    margin:0 0 2em;
    background-color:transparent;
    border:1px solid var(--color-border);
    border-collapse:collapse
}
.post-content table th,.post-content table td{
    position:relative;
    padding:1em;
    line-height:1em;
    text-align:left;
    border:1px solid var(--color-border)
}
.post-content table th{
    font-weight:700;
    font-size:0.75em;
    line-height:1.33333em;
    padding:1.33333em;
    color:var(--color-dark)
}
.post-content img{
    display:block;
    max-width:100%;
    height:auto;
    margin:2.5em auto
}
.post-content figcaption{
    color:var(--color-text);
    text-align:center;
    max-width:32em;
    margin:auto;
    font-size:0.75em;
    line-height:1.25em;
    padding:0.66666em 0
}
.post-content iframe{
    margin:2.5em auto
}
.post-content .fluid-width-video-wrapper{
    position:relative;
    height:0;
    overflow:hidden;
    margin:0 0 2em
}
.post-content .fluid-width-video-wrapper iframe{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    margin:auto
}
.post-content .kg-image-card{
    margin:0 0 2em;
    max-width:none !important
}
.post-content .kg-image-card.kg-width-wide{
    max-width:64em !important;
    width:calc( 100vw - 16em);
    margin:2vw 0 calc( 2em + 2vw)
}
@media only screen and (max-width: 70em){
    .post-content .kg-image-card.kg-width-wide{
        width:calc( 100vw - 8em)
    }
}
@media only screen and (max-width: 50em){
    .post-content .kg-image-card.kg-width-wide{
        width:calc( 100vw - 2em)
    }
}
.post-content .kg-image-card.kg-width-full{
    max-width:80em !important;
    width:calc( 100vw - 8em);
    margin:2vw 0 calc( 2em + 2vw)
}
@media only screen and (max-width: 70em){
    .post-content .kg-image-card.kg-width-full{
        width:calc( 100vw - 4em)
    }
}
@media only screen and (max-width: 50em){
    .post-content .kg-image-card.kg-width-full{
        width:100vw
    }
}
.post-content .kg-image-card .kg-image{
    margin:0 auto
}
.post-content .kg-image-card .kg-image-full+figcaption{
    margin-bottom:1.33333em
}
.post-content .kg-gallery-card{
    max-width:64em !important;
    width:calc( 100vw - 16em);
    margin:2vw 0 calc( 2em + 2vw)
}
@media only screen and (max-width: 70em){
    .post-content .kg-gallery-card{
        width:calc( 100vw - 8em)
    }
}
@media only screen and (max-width: 50em){
    .post-content .kg-gallery-card{
        width:calc( 100vw - 2em)
    }
}
.post-content .kg-gallery-container{
    display:flex;
    flex-direction:column
}
.post-content .kg-gallery-row{
    display:flex;
    flex-direction:row;
    justify-content:center
}
.post-content .kg-gallery-image img{
    display:block;
    margin:0;
    width:100%;
    height:100%
}
.post-content .kg-gallery-row:not(:first-of-type){
    margin:0.75em 0 0 0
}
.post-content .kg-gallery-image:not(:first-of-type){
    margin:0 0 0 0.75em
}
.post-content .kg-embed-card{
    margin:0 0 2em
}
.post-content .kg-embed-card>*{
    margin-left:auto;
    margin-right:auto
}
.post-content .kg-bookmark-card{
    width:100%;
    margin:0 0 2em
}
.post-content .kg-bookmark-container{
    display:flex;
    text-decoration:none;
    min-height:10em;
    background:var(--color-bg);
    border:0 !important;
    overflow:hidden
}
.post-content .kg-bookmark-content{
    display:flex;
    flex-direction:column;
    flex-grow:1;
    align-items:flex-start;
    justify-content:start;
    padding:1.5em;
    color:var(--color-text)
}
.post-content .kg-bookmark-title{
    color:var(--color-dark);
    font-size:0.75em;
    line-height:2em;
    font-weight:700
}
.post-content .kg-bookmark-description{
    display:-webkit-box;
    font-size:0.75em;
    line-height:1.66666em;
    font-weight:400;
    margin:0.5em 0 1em;
    max-height:3.33333em;
    overflow-y:hidden;
    -webkit-line-clamp:2
}
.post-content .kg-bookmark-thumbnail{
    position:relative;
    min-width:33%;
    max-height:100%
}
.post-content .kg-bookmark-thumbnail img{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    margin:0;
    object-fit:cover
}
.post-content .kg-bookmark-metadata{
    display:flex;
    align-items:center;
    font-size:0.75em;
    line-height:1.66666em;
    color:var(--color-medium);
    font-weight:400;
    margin-top:1em;
    flex-wrap:wrap
}
.post-content .kg-bookmark-icon{
    width:1.33333em;
    height:1.33333em;
    margin:0 0.75em 0 0
}
.post-content .kg-bookmark-author:after{
    content:"•";
    margin:0 0.33333em
}
.post-content .kg-bookmark-publisher{
    color:var(--color-primary)
}
@media (max-width: 50em){
    .post-content .kg-bookmark-container{
        flex-direction:column
    }
    .post-content .kg-bookmark-thumbnail{
        order:1;
        width:100%;
        min-height:160px
    }
    .post-content .kg-bookmark-thumbnail img{
        border-radius:3px 3px 0 0
    }
    .post-content .kg-bookmark-content{
        order:2
    }
}
.avatar{
    position:relative;
    overflow:hidden;
    background:var(--color-border);
    margin:0
}
.avatar:before,.avatar:after{
    content:'';
    position:absolute;
    z-index:1;
    width:50%;
    height:50%;
    bottom:35%;
    left:25%;
    border-radius:100%;
    background:var(--color-border-light)
}
.avatar:after{
    width:100%;
    bottom:-25%;
    left:0
}
.avatar img{
    position:relative;
    z-index:2;
    display:block;
    width:100%;
    height:auto
}
#nprogress .bar{
    background:var(--color-primary) !important;
    height:3px !important
}
#nprogress .bar .peg{
    box-shadow:none !important
}
#nprogress .spinner{
    display:none !important;
    top:50% !important;
    right:50% !important
}
#nprogress .spinner .spinner-icon{
    width:4em !important;
    height:4em !important;
    margin:-4em -4em 0 0 !important;
    border-top-color:var(--color-primary) !important;
    border-left-color:var(--color-primary) !important
}
body{
    background:#fff
}
.menu-initial body{
    transition:all ease-out 0.3s;
    overflow:hidden
}
.menu-active body{
    background:var(--color-dark)
}
.inner{
    max-width:48em;
    margin:0 auto;
    padding:0 4em
}
@media only screen and (max-width: 50em){
    .inner{
        padding:0 2em
    }
}
@media only screen and (max-width: 30em){
    .inner{
        padding:0 1em
    }
}
#wrapper{
    position:relative;
    box-sizing:border-box;
    width:100%;
    min-height:100vh;
    padding-bottom:6em;
    background:var(--color-bg)
}
@media only screen and (max-width: 30em){
    #wrapper{
        padding-bottom:8.66666em
    }
}
.wrapper-o{
    padding:4em
}
@media only screen and (max-width: 70em){
    .wrapper-o{
        padding:2em
    }
}
@media only screen and (max-width: 50em){
    .wrapper-o{
        padding:0
    }
}
.wrapper{
    position:relative;
    max-width:80em;
    margin:0 auto 4em;
    padding:0;
    transition:opacity ease-in 0.5s;
    z-index:10
}
.loading .wrapper{
    opacity:0
}
.post-template .wrapper,.page-template .wrapper{
    background:#fff;
    padding-bottom:4em;
    border-radius:2px;
    overflow:hidden;
    transform:scale(1) translate3d(0, 0, 0);
    transform-style:preserve-3d;
    transform-origin:50% top;
    opacity:1;
    transition:all ease-out .5s
}
@media only screen and (max-width: 50em){
    .post-template .wrapper,.page-template .wrapper{
        border-top:1px solid var(--color-border);
        border-bottom:1px solid var(--color-border);
        border-radius:0;
        padding-bottom:2em
    }
}
.post-loading .post-template .wrapper,.post-loading .page-template .wrapper{
    transform:scale(0.9) translate3d(0, 2em, 0);
    opacity:0
}
@keyframes pushPrev{
    0%{
        transform:translate3d(0, 0, 0)
    }
    75%{
        opacity:1
    }
    100%{
        transform:translate3d(-150%, 0, 0);
        opacity:0
    }
}
@keyframes pushedPrev{
    0%{
        transform:translate3d(100%, 0, 0);
        opacity:0
    }
    100%{
        transform:translate3d(0, 0, 0);
        opacity:1
    }
}
@keyframes pushNext{
    0%{
        transform:translate3d(0, 0, 0)
    }
    75%{
        opacity:1
    }
    100%{
        transform:translate3d(150%, 0, 0);
        opacity:0
    }
}
@keyframes pushedNext{
    0%{
        transform:translate3d(-100%, 0, 0);
        opacity:0
    }
    100%{
        transform:translate3d(0, 0, 0);
        opacity:1
    }
}
#push{
    transform:translate3d(0, 0, 0);
    transform-style:preserve-3d;
    opacity:1
}
.push-next #push{
    animation:pushNext ease-in 0.5s forwards !important
}
.pushed-next #push{
    animation:pushedNext ease-out 0.5s forwards
}
.push-prev #push{
    animation:pushPrev ease-in 0.5s forwards !important
}
.pushed-prev #push{
    animation:pushedPrev ease-out 0.5s forwards
}
#nav{
    position:relative;
    width:100%;
    top:0;
    display:flex;
    justify-content:space-between;
    background:#fff;
    z-index:70;
    transition:all ease-out 0.4s;
    transform:translate3d(0, 0, 0);
    transform-style:preserve-3d;
    opacity:1
}
#nav .nav-logo{
    max-width:100%;
    height:4em;
    padding:1em;
    box-sizing:border-box
}
#nav .nav-logo a{
    display:inline-flex
}
#nav .nav-logo img{
    display:block;
    width:auto;
    max-width:none;
    height:2em;
    margin:0;
    margin-right:1em
}
#nav .nav-logo .name{
    display:block;
    line-height:2em;
    font-weight:800;
    color:var(--color-medium);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
#nav .nav-logo .description{
    display:block;
    line-height:2em;
    font-weight:300;
    color:var(--color-light);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    margin-left:0.5em
}
@media only screen and (max-width: 30em){
    #nav .nav-logo .description{
        display:none
    }
}
#nav .nav-menu{
    display:flex
}
#nav .nav-menu .menu-list{
    display:flex;
    list-style:none;
    padding:0;
    margin:0;
    line-height:2em
}
@media only screen and (max-width: 50em){
    #nav .nav-menu .menu-list{
        display:none
    }
}
#nav .nav-menu .menu-list .menu-list-item{
    padding:1em
}
#nav .nav-menu .menu-list .menu-list-item a{
    display:block;
    white-space:nowrap
}
#nav .nav-menu .menu-list .menu-list-item a.current{
    font-weight:700;
    color:var(--color-medium)
}
#nav .nav-menu .nav-menu-open{
    display:none;
    width:1em;
    height:1em;
    line-height:1em;
    padding:1.5em;
    text-align:center;
    float:left;
    cursor:pointer
}
@media only screen and (max-width: 50em){
    #nav .nav-menu .nav-menu-open{
        display:block
    }
}
#nav .nav-menu .nav-menu-open:hover,#nav .nav-menu .nav-menu-open:focus{
    background:var(--color-border)
}
#nav .nav-menu .nav-menu-open i:before{
    margin:auto
}
.loading #nav{
    transform:translate3d(0, -100%, 0);
    opacity:0
}
#menu{
    display:none;
    position:fixed;
    left:50%;
    top:5%;
    width:30em;
    height:90%;
    margin-left:-15em;
    background:transparent;
    box-sizing:border-box;
    padding:3em 0 5em;
    overflow:hidden;
    transition:all ease-out 0.3s;
    transform:translate3d(0, 2em, 0);
    transform-style:preserve-3d;
    opacity:0;
    z-index:100
}
@media only screen and (max-width: 50em){
    #menu{
        width:90%;
        left:5%;
        margin-left:auto
    }
}
#menu.initial{
    display:block
}
#menu.active{
    opacity:1;
    transform:translate3d(0, 0, 0)
}
#menu .menu-header{
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:3.5em;
    padding:1em 1.5em 0.5em;
    margin-bottom:1em;
    line-height:2em;
    z-index:110;
    box-sizing:border-box;
    background:#fff
}
#menu .menu-header:before{
    content:'';
    position:absolute;
    left:-5%;
    bottom:-1em;
    width:110%;
    height:2em;
    background:#fff;
    border-bottom:4px solid var(--color-primary);
    box-shadow:0 0.125em 0.125em rgba(0,0,0,0.1);
    transform:rotate(2.5deg);
    transition:all ease-out 0.2s;
    z-index:115
}
#menu .menu-header:after{
    clear:both;
    content:'';
    display:table
}
#menu .menu-header .menu-label{
    position:relative;
    display:block;
    float:left;
    z-index:120
}
#menu .menu-header .menu-close{
    position:relative;
    display:block;
    float:right;
    width:2em;
    height:2em;
    padding:1em;
    margin:-1em -1.5em -1em 0;
    cursor:pointer;
    z-index:125
}
#menu .menu-header .menu-close:after,#menu .menu-header .menu-close:before{
    content:'';
    position:absolute;
    left:50%;
    top:50%;
    background:var(--color-light);
    transform:rotate(45deg)
}
#menu .menu-header .menu-close:hover:after,#menu .menu-header .menu-close:hover:before,#menu .menu-header .menu-close:focus:after,#menu .menu-header .menu-close:focus:before{
    background:#737580
}
#menu .menu-header .menu-close:after{
    width:2px;
    height:1em;
    margin:-0.5em 0 0 -1px
}
#menu .menu-header .menu-close:before{
    width:1em;
    height:2px;
    margin:-1px 0 0 -0.5em
}
#menu .menu-list{
    position:relative;
    list-style:none;
    margin:0;
    padding:2em 0;
    height:100%;
    box-sizing:border-box;
    overflow-x:hidden;
    overflow-y:scroll;
    background:#fff
}
#menu .menu-list .menu-list-item{
    position:relative;
    z-index:5
}
#menu .menu-list .menu-list-item:after{
    content:'';
    position:absolute;
    left:1.5em;
    top:0;
    width:100%;
    border-top:1px solid var(--color-border)
}
#menu .menu-list .menu-list-item:first-child:after{
    display:none
}
#menu .menu-list .menu-list-item a{
    position:relative;
    display:block;
    padding:1em 1.5em;
    font-weight:inherit;
    font-weight:400
}
#menu .menu-list .menu-list-item a:hover,#menu .menu-list .menu-list-item a:focus{
    background:var(--color-border)
}
#menu .menu-list .menu-list-item a i{
    color:inherit
}
#menu .menu-list .menu-list-item a.current{
    font-weight:700;
    color:var(--color-medium)
}
#menu .menu-list .menu-list-item a.current:before{
    content:'';
    position:absolute;
    left:0;
    top:0;
    height:100%;
    border-left:4px solid var(--color-primary)
}
#menu .menu-members{
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    display:flex;
    padding:0.5em 1em;
    box-sizing:border-box;
    justify-content:space-around;
    align-content:stretch;
    z-index:105;
    background:#fff;
    border-top:1px solid var(--color-border)
}
#menu .menu-members button{
    display:block;
    margin:0.5em;
    padding:1em;
    flex:1;
    border:0;
    color:var(--color-medium);
    background:var(--color-border);
    border-radius:2px;
    font-weight:700;
    cursor:pointer
}
#menu .menu-members button:hover,#menu .menu-members button:focus{
    background:var(--color-border-light)
}
#menu .menu-members button.cta{
    color:#fff;
    background:var(--color-primary)
}
#menu .menu-members button.cta:hover,#menu .menu-members button.cta:focus{
    background:var(--color-primary-active)
}
.overlay{
    display:none;
    position:fixed;
    left:0;
    top:0;
    width:100%;
    height:100%;
    z-index:80;
    display:none
}
.overlay:before{
    content:'';
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background:var(--color-dark);
    opacity:0;
    transition:all ease-out 0.3s;
    transform-style:preserve-3d
}
.menu-initial .overlay{
    display:block
}
.menu-active .overlay:before{
    opacity:0.9
}
#header{
    position:relative;
    padding:calc( 4em + 4vw) 0 calc( 2em + 2vw)
}
#header .inner{
    position:relative;
    z-index:2
}
#header .header-title{
    display:block;
    text-align:center
}
#header .header-name{
    font-weight:700;
    letter-spacing:-1px;
    display:block;
    line-height:1em;
    font-size:calc( 2em + 1vw);
    text-decoration:none;
    color:var(--color-dark);
    padding:0;
    margin:0
}
#header .header-name em{
    font-family:'Helvetica Neue', sans-serif;
    position:relative;
    top:-0.33333em;
    margin-left:-0.25em;
    display:inline-block;
    width:auto;
    min-width:0.5em;
    height:1.5em;
    padding:0 0.66666em;
    line-height:1.5em;
    font-style:normal;
    font-weight:400;
    font-size:0.5em;
    letter-spacing:1px;
    background:var(--color-primary);
    color:#fff;
    border-radius:2em
}
#header.has-cover .header-name{
    color:#fff
}
#header .header-description{
    display:block;
    margin:1em auto 0;
    color:var(--color-light);
    position:relative;
    font-weight:300;
    font-size:calc( 1em + 0.5vw);
    line-height:1.25em
}
#header .header-description:after{
    content:'';
    position:absolute;
    height:1px;
    width:100px;
    margin-left:-50px;
    left:50%;
    top:-0.5em;
    background:var(--color-border-light)
}
#header.has-cover .header-description{
    color:#fff
}
#header.has-cover .header-description:after{
    background:#fff
}
#header .header-image{
    width:3em;
    height:3em;
    margin:-1em auto 1em;
    overflow:hidden;
    border-radius:3em;
    border:2px solid var(--color-primary)
}
#header .header-image img{
    width:100%;
    margin:auto
}
#header.has-cover .header-image{
    border-color:#fff
}
#header .header-meta{
    display:block;
    margin:1.25em auto -1.25em;
    color:var(--color-light);
    position:relative;
    font-weight:300;
    font-size:0.8em;
    line-height:1.25em
}
#header .header-meta span{
    display:inline-block;
    font-weight:400;
    color:var(--color-text);
    margin-right:1em;
    margin-bottom:1em;
    white-space:nowrap
}
#header .header-meta span a{
    color:inherit;
    text-decoration:none;
    border-bottom:1px solid transparent
}
#header .header-meta span a:hover,#header .header-meta span a:focus{
    border-bottom-color:var(--color-primary)
}
#header .header-meta span i{
    color:var(--color-light)
}
#header.has-cover .header-meta{
    color:#fff
}
#header.has-cover .header-meta span{
    color:#fff
}
#header.has-cover .header-meta span i{
    color:#fff;
    opacity:0.5
}
#header .header-cover{
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
    margin-top:-4em;
    padding:4em 0 8em;
    background:no-repeat fixed center 100% / cover;
    z-index:1
}
@media only screen and (max-width: 50em){
    #header .header-cover{
        background-attachment:scroll;
        padding:4em 0
    }
}
#header .header-cover:before{
    content:'';
    position:absolute;
    width:100%;
    height:100%;
    left:0;
    top:0;
    background:var(--color-dark);
    opacity:0.2
}
#header .header-cover:after{
    content:'';
    position:absolute;
    width:100%;
    left:0;
    bottom:0;
    border-bottom:4px solid var(--color-primary)
}
#footer{
    position:absolute;
    width:100%;
    left:0;
    bottom:0;
    font-size:1em;
    line-height:1em;
    border-top:1px solid var(--color-border);
    color:#737580;
    z-index:20;
    transition:all ease-out 0.4s;
    transform:translate3d(0, 0, 0);
    transform-style:preserve-3d;
    opacity:1
}
#footer a{
    color:var(--color-text);
    font-weight:400
}
#footer .credits{
    display:flex;
    justify-content:space-between;
    text-align:center;
    font-size:0.75em;
    line-height:1.33333em;
    padding:2.66666em
}
@media only screen and (max-width: 30em){
    #footer .credits{
        flex-direction:column
    }
}
#footer .credits span{
    display:block
}
@media only screen and (max-width: 30em){
    #footer .credits .credits-theme{
        order:2;
        margin-bottom:0.66666em
    }
}
@media only screen and (max-width: 30em){
    #footer .credits .credits-links{
        order:1;
        margin-bottom:1.33333em
    }
}
#footer .credits .credits-links a{
    margin:0 0.66666em
}
@media only screen and (max-width: 30em){
    #footer .credits .credits-software{
        order:3
    }
}
.loading #footer{
    transform:translate3d(0, 100%, 0);
    opacity:0
}
.post{
    position:relative;
    z-index:20
}
.post .post-image{
    display:block;
    margin:0;
    padding:0
}
.post .post-image img{
    display:block;
    width:100%;
    height:auto;
    margin:0;
    padding:0
}
.post .post-meta{
    position:relative;
    display:block;
    font-size:0.75em;
    line-height:1.33333em;
    font-weight:400;
    margin-bottom:1.33333em
}
.post .post-meta a{
    color:var(--color-text);
    text-decoration:none;
    border-bottom:1px solid transparent
}
.post .post-meta a:hover,.post .post-meta a:focus{
    border-bottom-color:var(--color-primary)
}
.post .post-title{
    position:relative;
    color:#000;
    font-size:calc( 2em + 2vw);
    line-height:1.375em;
    font-weight:800;
    text-indent:-1px;
    letter-spacing:-1px;
    margin:0.25em 0 0.75em;
    -webkit-hyphens:auto;
    hyphens:auto
}
.post .post-title:before{
    content:'';
    position:absolute;
    left:0;
    bottom:-0.33333em;
    width:1em;
    margin-bottom:-2px;
    border-bottom:4px solid var(--color-primary)
}
.post .post-title a{
    text-decoration:none;
    color:inherit;
    font-weight:inherit
}
.post .post-header{
    padding:8vw 0 2vw
}
.post .post-header.has-cover{
    position:relative;
    display:flex;
    flex-direction:column;
    margin-bottom:2em;
    padding:calc( 6em + 4vw) 0 calc( 8em + 2vw);
    box-sizing:border-box;
    background:var(--color-dark);
    overflow:hidden;
    color:#fff
}
.post .post-header.has-cover:after{
    content:'';
    position:absolute;
    left:-5%;
    bottom:-4em;
    width:110%;
    height:8em;
    background:#fff;
    border-top:4px solid var(--color-primary);
    box-shadow:0 0 2em rgba(0,0,0,0.2);
    transform:rotate(5deg);
    transition:all ease-out 0.2s;
    z-index:20
}
.post .post-header.has-cover:before{
    content:'';
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background:var(--color-dark);
    opacity:0.2;
    z-index:10
}
.post .post-header.has-cover *{
    color:inherit
}
.post .post-header.has-cover *:before{
    display:none
}
.post .post-header.has-cover .inner{
    width:100%;
    margin:auto;
    z-index:15
}
.post .post-header.has-cover .post-cover{
    position:absolute;
    top:0;
    width:100%;
    height:100%;
    z-index:5
}
.post .post-header.has-cover .post-cover img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:50% 50%
}
@keyframes fade{
    0%{
        transform:translate3d(0, 3em, 0);
        opacity:0
    }
    100%{
        transform:translate3d(0, 0, 0);
        opacity:1
    }
}
.post-list{
    position:relative;
    margin:0 -0.5em;
    box-sizing:border-box
}
@media only screen and (max-width: 50em){
    .post-list{
        margin:0 0.5em
    }
}
.post-list .post{
    width:33.3%;
    padding:0.5em;
    box-sizing:border-box;
    transform:translate3d(0, 3em, 0);
    transform-style:preserve-3d;
    opacity:0;
    animation:fade ease-out 0.5s forwards;
    animation-delay:1.4s
}
@media only screen and (max-width: 50em){
    .post-list .post{
        width:49.9%
    }
}
@media only screen and (max-width: 30em){
    .post-list .post{
        width:100%;
        float:none
    }
}
.post-list .post.initial{
    z-index:25
}
.post-list .post.initial .inner{
    transition:all ease-in 0.5s
}
.post-list .post.active .inner{
    transform:scale(1.5)
}
.post-list .post:nth-child(1){
    animation-delay:0.1s
}
.post-list .post:nth-child(2){
    animation-delay:0.2s
}
.post-list .post:nth-child(3){
    animation-delay:0.3s
}
.post-list .post:nth-child(4){
    animation-delay:0.4s
}
.post-list .post:nth-child(5){
    animation-delay:0.5s
}
.post-list .post:nth-child(6){
    animation-delay:0.6s
}
.post-list .post:nth-child(7){
    animation-delay:0.7s
}
.post-list .post:nth-child(8){
    animation-delay:0.8s
}
.post-list .post:nth-child(9){
    animation-delay:0.9s
}
.post-list .post:nth-child(10){
    animation-delay:1.0s
}
.post-list .post:nth-child(11){
    animation-delay:1.1s
}
.post-list .post:nth-child(12){
    animation-delay:1.2s
}
.post-list .post.post.featured .inner{
    background:var(--color-dark);
    color:var(--color-light)
}
.post-list .post.post.featured .inner:after{
    content:'';
    position:absolute;
    right:0;
    top:0;
    width:0;
    height:0;
    border-right:3em solid #FFC336;
    border-bottom:3em solid transparent;
    z-index:1
}
.post-list .post.post.featured .inner:before{
    font-family:"icons";
    content:'\e808';
    position:absolute;
    right:0;
    top:0;
    width:1.75em;
    height:1.75em;
    line-height:2em;
    text-align:center;
    color:var(--color-dark);
    z-index:2
}
.post-list .post.post.featured .post-image:after{
    background:var(--color-dark);
    bottom:-2.5em;
    height:5em
}
.post-list .post.post.featured .post-title{
    color:#fff
}
.post-list .post.post.featured .post-more a{
    color:#fff
}
.post-list .post .inner{
    padding:2em;
    margin:0;
    max-width:none;
    background:#fff;
    box-sizing:border-box;
    transition:all ease-out 0.2s;
    transform:scale(1);
    transform-style:preserve-3d;
    border-radius:2px;
    overflow:hidden
}
@media only screen and (max-width: 50em){
    .post-list .post .inner{
        padding:1em
    }
}
.post-list .post .post-link{
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    z-index:10
}
.post-list .post .post-image{
    position:relative;
    margin:-2em -2em 0;
    overflow:hidden;
    background:var(--color-primary)
}
@media only screen and (max-width: 50em){
    .post-list .post .post-image{
        margin:-1em -1em 0
    }
}
.post-list .post .post-image img{
    transition:all ease-out 0.3s;
    transform:scale(1);
    transform-style:preserve-3d;
    opacity:1
}
.post-list .post .post-image:after{
    content:'';
    position:absolute;
    left:-5%;
    bottom:-2.5em;
    width:110%;
    height:4em;
    background:#fff;
    border-top:4px solid var(--color-primary);
    box-shadow:0 0 2em rgba(0,0,0,0.2);
    transform:rotate(5deg);
    transition:all ease-out 0.2s
}
.post-list .post:hover .inner,.post-list .post:focus .inner{
    box-shadow:0 1px 2px rgba(0,0,0,0.05),0 2px 6px rgba(0,0,0,0.05),0 8px 48px rgba(0,0,0,0.1)
}
.post-list .post:hover .post-image img,.post-list .post:focus .post-image img{
    transform:scale(1.05);
    opacity:0.5
}
.post-list .post:hover .post-image:after,.post-list .post:focus .post-image:after{
    border-top-width:0;
    box-shadow:none
}
.post-list .post .post-title{
    font-size:1.5em;
    line-height:1.167em
}
.post-list .post .post-excerpt{
    margin:0
}
.post-list .post .post-more{
    display:block;
    margin-top:1.5em
}
.post-list .post .post-more a{
    display:inline-block;
    font-size:0.875em;
    line-height:1.143em;
    font-weight:400;
    color:var(--color-medium)
}
.post-list .post .post-more a:hover,.post-list .post .post-more a:focus{
    color:var(--color-dark)
}
.post-list .post .post-more a i{
    color:var(--color-primary-active)
}
.post-footer{
    margin:4em 0 10px
}
.post-footer:after{
    clear:both;
    content:'';
    display:table
}
.post-footer .post-tags{
    float:left;
    max-width:60%
}
.post-footer .post-tags a{
    font-size:0.875em;
    line-height:1.714em;
    display:inline-block;
    border:0;
    margin-bottom:0.286em;
    padding:0.286em 0.714em;
    border-radius:2px;
    color:#fff;
    background:var(--color-primary);
    font-weight:400
}
.post-footer .post-tags a:hover,.post-footer .post-tags a:focus{
    background:var(--color-primary-active)
}
.post-footer .post-share{
    float:right
}
.post-footer .post-share a{
    font-size:0.75em;
    display:block;
    width:2em;
    height:2em;
    line-height:2em;
    text-align:center;
    text-decoration:none;
    padding:0.33333em;
    margin:0 0 0.33333em 0.33333em;
    float:left;
    border-radius:2px;
    color:#fff;
    background:#737580
}
.post-footer .post-share a:before{
    margin:auto
}
.post-footer .post-share a span{
    display:none
}
.post-footer .post-share a.icon-twitter{
    background-color:#3ea9dd
}
.post-footer .post-share a.icon-facebook{
    background-color:#3c5a98
}
.post-author{
    margin-top:4em;
    padding-top:4em;
    border-top:1px solid var(--color-border)
}
@media only screen and (max-width: 30em){
    .post-author{
        padding-bottom:2em
    }
}
.post-authors{
    text-align:center
}
.post-author-card{
    display:flex
}
@media only screen and (max-width: 30em){
    .post-author-card{
        flex-direction:column;
        justify-content:center;
        padding-left:1em;
        padding-right:1em
    }
}
.post-author-card .post-author-avatar{
    flex-shrink:0;
    display:block;
    width:6em;
    height:6em;
    margin:0 2em 0 0;
    border-radius:12em;
    overflow:hidden
}
@media only screen and (max-width: 30em){
    .post-author-card .post-author-avatar{
        width:4em;
        height:4em;
        margin:0 auto 1em
    }
}
.post-author-card .post-author-avatar img{
    display:block;
    width:100%;
    height:auto;
    margin:0
}
.post-author-card .post-author-bio{
    display:flex;
    width:100%;
    flex-direction:column;
    justify-content:center
}
@media only screen and (max-width: 30em){
    .post-author-card .post-author-bio{
        text-align:center
    }
}
.post-author-card .post-author-bio .post-author-name{
    font-size:1.25em;
    line-height:1.2em;
    margin-top:0;
    margin-bottom:0.75rem;
    font-weight:800;
    color:var(--color-medium)
}
.post-author-card .post-author-bio .post-author-about{
    margin-top:0;
    margin-bottom:0.75rem
}
.post-author-card .post-author-bio .post-author-meta{
    display:flex;
    flex-wrap:wrap
}
@media only screen and (max-width: 30em){
    .post-author-card .post-author-bio .post-author-meta{
        justify-content:center
    }
}
.post-author-card .post-author-bio .post-author-meta span{
    display:block;
    font-size:0.875em;
    line-height:1.143em;
    margin-right:1rem;
    margin-bottom:1rem;
    color:#737580;
    white-space:nowrap
}
.post-author-card .post-author-bio .post-author-meta .post-author-meta-location{
    font-style:italic
}
.post-comments{
    clear:both;
    margin:-3em 0 4em;
    border-radius:2px;
    padding:1em 1em 2.5em;
    border:1px solid var(--color-border)
}
@media only screen and (max-width: 30em){
    .post-comments{
        padding:0.5em 0.5em 2em
    }
}
.post-nav{
    position:relative
}
@media only screen and (max-width: 70em){
    .post-nav{
        height:7em;
        margin:2em 0
    }
}
.post-nav:after{
    clear:both;
    content:'';
    display:table
}
.post-nav .post-nav-item{
    position:fixed;
    top:50%;
    display:block;
    margin-top:-4em;
    overflow:hidden;
    border-radius:10em;
    transition:none
}
@media only screen and (max-width: 70em){
    .post-nav .post-nav-item{
        position:absolute;
        top:auto;
        margin:auto;
        max-width:50%
    }
}
.post-nav .post-nav-item:hover,.post-nav .post-nav-item:focus{
    border-radius:0
}
.post-nav .post-nav-item:hover .post-nav-teaser .post-nav-icon,.post-nav .post-nav-item:focus .post-nav-teaser .post-nav-icon{
    box-shadow:0 0 0 25em var(--color-primary)
}
@media only screen and (max-width: 50em){
    .post-nav .post-nav-item:hover .post-nav-teaser .post-nav-icon,.post-nav .post-nav-item:focus .post-nav-teaser .post-nav-icon{
        box-shadow:0 0 0 2px var(--color-primary)
    }
}
.post-nav .post-nav-item:hover .post-nav-teaser .post-nav-info,.post-nav .post-nav-item:focus .post-nav-teaser .post-nav-info{
    display:block
}
@media only screen and (max-width: 50em){
    .post-nav .post-nav-item:hover .post-nav-teaser .post-nav-info,.post-nav .post-nav-item:focus .post-nav-teaser .post-nav-info{
        display:none
    }
}
.post-nav .post-nav-item:hover .post-nav-teaser .post-nav-info .post-nav-title,.post-nav .post-nav-item:focus .post-nav-teaser .post-nav-info .post-nav-title{
    color:var(--color-dark)
}
.post-nav .post-nav-item:hover .post-nav-teaser .post-nav-info .post-nav-excerpt,.post-nav .post-nav-item:focus .post-nav-teaser .post-nav-info .post-nav-excerpt{
    color:#fff
}
.post-nav .post-nav-item.post-nav-next{
    left:0;
    text-align:left
}
.post-nav .post-nav-item.post-nav-next .post-nav-icon{
    float:left
}
.post-nav .post-nav-item.post-nav-next .post-nav-icon i{
    left:-0.05em
}
.post-nav .post-nav-item.post-nav-next .post-nav-info{
    padding-left:6em
}
.post-nav .post-nav-item.post-nav-prev{
    right:0;
    text-align:right
}
.post-nav .post-nav-item.post-nav-prev .post-nav-icon{
    float:right
}
.post-nav .post-nav-item.post-nav-prev .post-nav-icon i{
    right:-0.05em
}
.post-nav .post-nav-item.post-nav-prev .post-nav-info{
    padding-right:6em
}
.post-nav .post-nav-item .post-nav-teaser{
    display:block;
    padding:1.5em;
    transition:all ease-out 0.2s;
    max-width:25em;
    overflow:visible
}
.post-nav .post-nav-item .post-nav-teaser:after{
    clear:both;
    content:'';
    display:table
}
.post-nav .post-nav-item .post-nav-teaser .post-nav-icon{
    display:block;
    width:5em;
    height:5em;
    line-height:5em;
    text-align:center;
    box-sizing:border-box;
    border-radius:10em;
    border:1px solid var(--color-primary);
    box-shadow:0 0 0 0 transparent;
    transition:all ease-out 0.1s;
    background:var(--color-bg)
}
@media only screen and (max-width: 30em){
    .post-nav .post-nav-item .post-nav-teaser .post-nav-icon{
        width:4em;
        height:4em;
        line-height:4em
    }
}
.post-nav .post-nav-item .post-nav-teaser .post-nav-icon i{
    position:relative;
    font-size:2em
}
@media only screen and (max-width: 30em){
    .post-nav .post-nav-item .post-nav-teaser .post-nav-icon i{
        font-size:1.5em
    }
}
.post-nav .post-nav-item .post-nav-teaser .post-nav-icon i:before{
    margin:auto
}
.post-nav .post-nav-item .post-nav-teaser .post-nav-info{
    display:none;
    width:100%;
    box-sizing:border-box;
    transition:all ease-out 0.2s
}
.post-nav .post-nav-item .post-nav-teaser .post-nav-info .post-nav-title{
    display:block;
    max-height:1.25em;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    margin:1.25em 0 0.25em;
    font-size:1em;
    line-height:1.25em;
    font-weight:700;
    color:var(--color-medium)
}
.post-nav .post-nav-item .post-nav-teaser .post-nav-info .post-nav-excerpt{
    display:block;
    max-height:1.33333em;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    margin:0;
    font-size:0.75em;
    line-height:1.33333em;
    font-weight:400;
    color:var(--color-light)
}
.pagination{
    min-height:3em;
    margin:4em auto 2em;
    padding:0;
    position:relative
}
.pagination .pagination-item{
    position:relative;
    display:block;
    height:3em;
    line-height:3em;
    padding:0 1em;
    text-align:center;
    text-decoration:none;
    font-weight:700;
    color:var(--color-medium);
    border:1px solid var(--color-primary);
    transition:all ease-out 0.1s;
    border-radius:4em;
    z-index:60
}
.pagination .pagination-item:hover,.pagination .pagination-item:focus{
    color:var(--color-dark);
    box-shadow:0 0 0 2px var(--color-primary)
}
.pagination .pagination-item i{
    position:relative
}
@media only screen and (max-width: 30em){
    .pagination .pagination-item{
        width:4em;
        height:4em;
        line-height:4em;
        margin-top:-0.5em;
        padding:0 !important
    }
    .pagination .pagination-item i{
        font-size:1.5em
    }
    .pagination .pagination-item>span{
        display:none
    }
}
.pagination .pagination-prev{
    float:right
}
.pagination .pagination-prev i{
    right:-0.05em
}
.pagination .pagination-next{
    float:left
}
.pagination .pagination-next i{
    left:-0.05em
}
.pagination .pagination-info{
    display:block;
    left:0;
    top:0;
    height:3em;
    line-height:3em;
    position:absolute;
    text-align:center;
    width:100%;
    z-index:50;
    color:var(--color-light)
}
 
.icon-twitter:before {
   content: '';
   background-image: url('../fonts/x.svg');
   background-size: 1em 1em;
   background-repeat: no-repeat;
   background-position: center;
   display: inline-block;
   width: 1em;
   height: 1em;
   transform: translateY(1px);
}
.post-footer .post-share a.icon-twitter {
   background-color: #000;
   transition: background-color 0.2s ease;
}
.post-footer .post-share a.icon-twitter:hover {
   background-color: #333;
}
.post-footer .post-share a.icon-twitter:before {
   filter: brightness(0) invert(1);
}
a.icon-facebook {
   display: none;
}
#footer .credits-links a.twitter .icon-twitter:before {
   filter: brightness(0) !important;
}
/* ===== 접근성 및 사용성 개선 ===== */
/* 스크린 리더 전용 텍스트 */
.sr-only {
   position: absolute;
   width: 1px;
   height: 1px;
   padding: 0;
   margin: -1px;
   overflow: hidden;
   clip: rect(0, 0, 0, 0);
   white-space: nowrap;
   border: 0;
}
button:focus,
a:focus,
input:focus {
   outline: 2px solid var(--color-primary);
   outline-offset: 2px;
}
.nav-menu-open {
   background: none;
   border: none;
   cursor: pointer;
   padding: 1.5em;
   transition: background-color 0.2s ease;
}
.post-content a:focus {
   background-color: rgba(54, 217, 149, 0.1);
}

@media (max-width: 768px) {
    /* 메뉴 버튼은 기존 디자인 유지하면서 터치 영역만 확장 */
    .nav-menu-open {
        position: relative;
    }
    
    .nav-menu-open:before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        min-width: 44px;
        min-height: 44px;
        z-index: -1;
    }
    
    /* 공유 버튼은 제외 */
    .post-footer .post-share a:not(.icon-twitter) {
        min-height: 44px;
        min-width: 44px;
    }
}

/* ===== 다크모드 지원 ===== */
@media (prefers-color-scheme: dark) {
   body {
       background: #1a1a1a;
       color: #e0e0e0;
   }
   
   #wrapper {
       background: #1a1a1a;
   }
   
    .wrapper {
        background: transparent;
    }

   .post-template .wrapper,
   .page-template .wrapper {
       background: #2d2d2d;
   }
   
   .post-content {
       color: #e0e0e0;
   }
   
   .post-content h1,
   .post-content h2,
   .post-content h3,
   .post-content h4,
   .post-content h5,
   .post-content h6 {
       color: var(--color-white);
   }
   
   .post-content a {
       color: #4fc3f7;
       border-color: #4fc3f7;
   }
   
   .post-content code,
   .post-content tt {
       background: #404040;
       color: #e0e0e0;
   }
   
   .post-content pre {
       background: #404040;
   }
   
   .post-content blockquote {
       border-color: #666;
       background: #333;
   }

   .post-content strong,
   .post-content b {
       color: #ffffff !important;
   }

   .post-content em,
   .post-content i {
       color: #e0e0e0 !important;
   }

   .post-content ul>li:before,
   .post-content ol>li:before {
       color: #ffffff !important;
   }

   #header .header-description:after {
       background: #ffffff !important;
   }

   #nav {
       background: #2d2d2d;
   }
   
   .nav-logo .name {
       color: var(--color-white) !important;
   }
   
   .nav-logo .description {
       color: #b0b0b0 !important;
   }
   
   #footer {
       background: #2d2d2d;
       color: #b0b0b0;
   }
   
   /* 포스트 카드 - 테두리 없이 색상만 구분 */
   .post-list .post .inner {
       background: #2d2d2d;
   }
   
   .post-meta,
   .post-meta a {
       color: #b0b0b0 !important;
   }
   
   .post-title,
   .post-title a {
       color: var(--color-white) !important;
   }
   
   /* Read more 링크 수정 */
   .post-more a,
   .post-more a i {
       color: #e0e0e0 !important;
   }
   
   /* 모든 아이콘 색상 수정 */
   i[class^="icon-"],
   i[class*=" icon-"] {
       color: #e0e0e0 !important;
   }
   
   /* X/Twitter 아이콘 SVG 색상 수정 */
   .icon-twitter:before {
       filter: brightness(0) invert(1) !important;
   }
   
   /* 푸터의 X 아이콘도 수정 */
   #footer .credits-links a.twitter .icon-twitter:before {
       filter: brightness(0) invert(1) !important;
   }
   
   /* Read more 화살표 아이콘 */
   .post-more a .icon-arrow-right:before {
       color: #e0e0e0 !important;
   }
   
   /* 메뉴 관련 */
   .menu-list {
       background: #2d2d2d;
   }
   
   .menu-list .menu-list-item a {
       color: #e0e0e0 !important;
   }
   
   /* 푸터 링크 */
   #footer a {
       color: #b0b0b0 !important;
   }
   
   /* 포스트 링크 텍스트 색상 */
   .post-link {
       color: inherit !important;
   }
   
   .post-list .post .post-title,
   .post-list .post .post-title a {
       color: var(--color-white) !important;
   }
   
   .post-list .post .post-excerpt {
       color: #e0e0e0 !important;
   }


/* 작성자 섹션 다크모드 */
.post-author {
    border-top-color: #666 !important;
}

.post-author-name,
.post-author-name a {
    color: var(--color-white) !important;
}

.post-author-about {
    color: #e0e0e0 !important;
}

.post-author-meta,
.post-author-meta span {
    color: #b0b0b0 !important;
}

.post-author-meta a {
    color: #4fc3f7 !important;
}

/* 댓글 박스 구분선 (다크모드) */
.post-comments {
    border-color: #666 !important;
}


/* 포스트 이미지/커버 오버레이 */
.post-list .post .post-image:after,
.post-header.has-cover:after,
#menu .menu-header:before {
    background: #2d2d2d !important;
}

/* 모바일 메뉴 다크모드 */
#menu {
    background: rgba(26, 26, 26, 0.95) !important;
}

.menu-header {
    background: #2d2d2d !important;
    color: var(--color-white) !important;
}

.menu-header .menu-label {
    color: var(--color-white) !important;
}

.menu-header .menu-close:before,
.menu-header .menu-close:after {
    background: #e0e0e0 !important;
}

.menu-header .menu-close:hover:before,
.menu-header .menu-close:hover:after {
    background: var(--color-white) !important;
}

.menu-list {
    background: #2d2d2d !important;
}

.menu-list .menu-list-item a {
    color: #e0e0e0 !important;
    background: transparent !important;
}

.menu-list .menu-list-item a:hover,
.menu-list .menu-list-item a:focus {
    background: #404040 !important;
    color: var(--color-white) !important;
}

.menu-list .menu-list-item a.current {
    color: var(--color-white) !important;
    background: #404040 !important;
}

.menu-list .menu-list-item:after {
    border-color: #666 !important;
}

/* 포스트 네비게이션 다크모드 */
.post-nav-item .post-nav-icon {
    background: #2d2d2d !important;
}

.post-nav-item .post-nav-info {
    background: #2d2d2d !important;
}

.post-nav-item .post-nav-title {
    color: var(--color-white) !important;
}

.post-nav-item .post-nav-excerpt {
    color: #e0e0e0 !important;
}

.post-nav-item .post-nav-icon i {
    color: #e0e0e0 !important;
}

}


/* ===== 관련 포스트 섹션 ===== */
.related-posts {
    margin: 4rem 0 2rem;
    padding: 2rem 0;
    border-top: 1px solid var(--color-border);
    position: relative;
}

.related-posts-title {
    text-align: center;
    margin: 0 0 2rem;
    font-size: 1.5em;
    line-height: 1.33333em;
    font-weight: 700;
    color: var(--color-dark);
    text-rendering: optimizeLegibility;
}

.related-posts-title:after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -0.5em;
    width: 2em;
    border-bottom: 3px solid var(--color-primary);
    margin-top: 0.5em;
}

.related-posts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    margin: 0;
}

.related-post-card {
    background: #fff;
    border-radius: 2px;
    overflow: hidden;
    transition: all ease-out 0.2s;
    transform: scale(1);
    transform-style: preserve-3d;
    border: 1px solid var(--color-border);
}

.related-post-card:hover {
    box-shadow: 0 1px 2px rgba(0,0,0,0.05), 0 2px 6px rgba(0,0,0,0.05), 0 8px 24px rgba(0,0,0,0.1);
    transform: translateY(-2px);
}

.related-post-link {
    display: block;
    text-decoration: none;
    color: inherit;
    border: none !important;
}

.related-post-image {
    position: relative;
    width: 100%;
    height: 120px;
    overflow: hidden;
    background: var(--color-primary);
}

.related-post-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all ease-out 0.3s;
    transform: scale(1);
    margin: 0;
}

.related-post-card:hover .related-post-image img {
    transform: scale(1.05);
    opacity: 0.9;
}

.related-post-content {
    padding: 1.25rem;
}

.related-post-title {
    font-size: 1rem;
    line-height: 1.25em;
    font-weight: 700;
    color: var(--color-dark);
    margin: 0 0 0.75rem;
    text-rendering: optimizeLegibility;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.related-post-meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    font-size: 0.75em;
    line-height: 1.33333em;
    color: var(--color-light);
}

.related-post-date,
.related-post-reading-time {
    font-weight: 400;
}

.related-post-excerpt {
    font-size: 0.875em;
    line-height: 1.43em;
    color: var(--color-text);
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ===== 반응형 디자인 (간단 버전) ===== */
/* 태블릿 이하 모든 기기: 1024px 이하 (2개 표시) */
@media only screen and (max-width: 1024px) {
    .related-posts-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
        justify-items: center;
    }
    
    /* 1개만 있을 때 중앙 정렬 */
    .related-posts-grid:has(.related-post-card:first-child:last-child) {
    grid-template-columns: 1fr;
    max-width: 400px;
    margin: 0 auto;
    }
    
    /* 태블릿 이하에서 2개만 표시 */
    .related-post-card:nth-child(n+3) {
        display: none !important;
    }
}

/* 매우 작은 모바일: 360px 이하 (1개 표시) */
@media only screen and (max-width: 360px) {
    .related-posts {
        margin: 2rem 0 1rem;
        padding: 1.5rem 0;
    }
    
    .related-posts-title {
        font-size: 1.25em;
        margin-bottom: 1.5rem;
    }
    
    .related-posts-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
        max-width: 100%;
        margin: 0;
    }
    
    /* 매우 작은 화면에서만 1개 표시 */
    .related-post-card:nth-child(n+2) {
        display: none !important;
    }
}


/* ===== 다크모드 지원 ===== */
@media (prefers-color-scheme: dark) {
    .related-posts {
        border-top-color: #666;
    }
    
    .related-posts-title {
        color: var(--color-white) !important;
    }
    
    .related-post-card {
        background: #2d2d2d !important;
        border-color: #666 !important;
    }
    
    .related-post-title {
        color: var(--color-white) !important;
    }
    
    .related-post-meta {
        color: #b0b0b0 !important;
    }
    
    .related-post-date,
    .related-post-reading-time {
        color: #b0b0b0 !important;
    }
    
    .related-post-excerpt {
        color: #e0e0e0 !important;
    }
    
    .related-post-link {
        color: inherit !important;
    }
    
    .related-post-card:hover {
        box-shadow: 0 1px 2px rgba(255,255,255,0.05), 0 2px 6px rgba(255,255,255,0.05), 0 8px 24px rgba(255,255,255,0.1);
    }

    /* 코드블럭 */
    .post-content pre.codeblock {
        background: #161b22 !important;
        border: 1px solid #30363d !important;
    }

    .post-content pre.codeblock code {
        background: #0d1117 !important;
    }

    .post-content pre.codeblock .lines {
        background: #161b22 !important;
        border-right-color: #30363d !important;
    }
}

/* iOS에서 관련기사 카드 너비 깨지는 문제 해결 */
.related-post-card {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.related-post-title,
.related-post-excerpt {
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* Respect user's motion preference (accessibility) */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    /* Show post list items immediately instead of fading in */
    .post-list .post {
        opacity: 1;
        transform: none;
        animation: none;
    }

    /* Skip page push animations */
    #push,
    .push-next #push,
    .pushed-next #push,
    .push-prev #push,
    .pushed-prev #push {
        animation: none;
        transform: none;
        opacity: 1;
    }

    /* Show content immediately on navigation */
    .wrapper {
        transition: none;
        opacity: 1;
    }
    .post-loading .post-template .wrapper,
    .post-loading .page-template .wrapper {
        transform: none;
        opacity: 1;
    }
}