@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap');
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Korean:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Arabic:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Georgian:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Egyptian+Hieroglyphs&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Mongolian&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+Tangut&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Nushu&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+Khitan+Small+Script&display=swap');
@font-face {
    font-family:'Kpwd';
    font-style:normal;
    font-weight:300;
    src:local('KoPubWorldDotum'),
        url('https://cdn.jsdelivr.net/npm/font-kopubworld@1.0/fonts/KoPubWorld-Dotum-Light.woff2') format('woff2'),
}
@font-face {
    font-family:'Kpwd';
    font-style:normal;
    font-weight:400;
    src:local('KoPubWorldDotum'),
        url('https://cdn.jsdelivr.net/npm/font-kopubworld@1.0/fonts/KoPubWorld-Dotum-Medium.woff2') format('woff2'),
}

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

::-webkit-scrollbar{
    display:none;
}

:root{
    --bg:#FAFAFA;
    --line:#E0E0E0;
    --strong:#141414;
    --weak:#3C3C3C;
    --weaker:#505050;
    --point:#50A0F0;
}

body{
    margin:0;
    background-color:var(--bg);
    color:var(--weak);
    font-family:'Inter','Pretendard','Noto Sans','Noto Sans Korean', 'Noto Sans TC','Noto Sans Arabic','Noto Sans Georgian','Kpwd','Noto Sans Egyptian Hieroglyphs','Noto Sans Mongolian','Noto Serif Tangut', 'Noto Sans Nushu', 'Noto Serif Khitan Small Script';
    font-weight:400;
    font-size:15px;
    word-break:keep-all;
    line-height:1.3;
}

h2,h3{
    margin-top:0;
    margin-bottom:10px;
    margin-left:0;
    color:var(--strong);
    font-weight:600;
}

h3{
    font-weight:normal;
}

strong{
    font-weight:600;
}

a{
    text-decoration:none;
    color:var(--point);
}

div{
    margin-bottom:10px;
}

table{
    margin-bottom:20px;
    border-collapse:collapse;
}

th{
    font-weight:400;
    text-align:left;
}

th,td{
    padding:15px;
    border:1px solid var(--line);
}

ul{
    padding-left:25px;
}

blockquote{
    box-sizing:border-box;
    max-width:300px;
    width:max-content;
    margin:0;
    margin-top:10px;
    padding-top:5px;
    padding-bottom:5px;
    padding-left:10px;
    border-left:5px solid var(--line);
    color:var(--weaker);
}

blockquote+div{
    margin-top:10px;
}

.dark{
    --bg:#181818;
    --line:#282828;
    --strong:#E0E0E0;
    --weak:#E0E0E0;
    --weaker:#A0A0A0;
}

.margin{
    height:30px;
    margin:0;
}

.margin-small{
    height:15px;
    margin:0;
}

div+.margin-small{
    height:5px;
}

.category-item{
    display:inline-block;
    margin-bottom:0;
    margin-right:10px;
    padding-left:10px;
    padding-right:10px;
    outline:1px solid var(--weak);
    border-radius:10px;
    font-size:14px;
    user-select:none;
}

.importance{
    margin-bottom:0;
    color:var(--point);
    filter:hue-rotate(120deg);
    user-select:none;
}

.etymology{
    font-style:italic;
    font-size:14px;
}

.etymology-marker{
    color:var(--point);
}

.part{
    display:inline-block;
    margin-right:5px;
    color:var(--point);
    font-size:14px;
    font-weight:bold;
}

.part+div{
    margin-top:10px;
}

.description{
    box-sizing:border-box;
    max-width:300px;
    width:max-content;
    margin-top:20px;
    padding:10px;
    border-top:2px solid var(--line);
    border-bottom:2px solid var(--line);
}

.snow{
    z-index:5;
    position:fixed;
    color:var(--point);
    opacity:60%;
    animation-name:fall,shake;
    animation-duration:20s,5s;
    animation-iteration-count:infinite;
    animation-timing-function:linear,ease-in-out;
    user-select:none;
}

#setting,#filter,#stats,#theme{
    position:fixed;
    top:0;
    right:0;
}

#setting,#filter,#stats,#theme,#light,#dark,.filter-cat{
    display:flex;
    justify-content:center;
    align-items:center;
    width:50px;
    height:50px;
    margin:0;
    user-select:none;
}

#setting{
    z-index:3;
    background-color:var(--strong);
    color:var(--bg);
    outline:1px solid var(--weak);
}

#filter{
    z-index:2;
    background-color:var(--bg);
    color:var(--weak);
    outline:1px solid var(--line);
    transition-property:top;
    transition-duration:0.8s;
}

#setting.expanded~#filter{
    top:50px;
}

#filter-modal{
    position:fixed;
    top:0;
    right:-200px;
    width:180px;
    height:180px;
    padding:10px;
    background-color:var(--bg);
    color:var(--weak);
    outline:1px solid var(--line);
    transition-property:right;
    transition-duration:0.8s;
}

#setting.expanded~#filter-modal{
    right:-150px;
}

#setting.expanded~#filter.expanded+#filter-modal{
    right:50px;
}

#filter-modal .category-item{
    margin-bottom:10px;
    margin-right:5px;
}

#filter-modal .category-item.selected{
    color:var(--point);
    outline-color:var(--point);
}

#stats{
    z-index:1;
    background-color:var(--bg);
    color:var(--weak);
    outline:1px solid var(--line);
    transition-property:top;
    transition-duration:0.8s;
}

#setting.expanded~#stats{
    top:100px;
}

#stats-modal{
    position:fixed;
    top:0;
    left:0;
    display:none;
    width:180px;
    height:180px;
    padding:10px;
    background-color:var(--bg);
    outline:1px solid var(--line);
    overflow-y:auto;
}

#setting.expanded~#stats.expanded+#stats-modal{
    display:block;
}

#theme{
    overflow:hidden;
    background-color:var(--bg);
    color:var(--weak);
    outline:1px solid var(--line);
    transition-property:top;
    transition-duration:0.8s;
}

#setting.expanded~#theme{
    top:150px;
}

#light{
    position:absolute;
    right:0;
    transition-property:right;
    transition-duration:0.5s;
}

.darkened #light{
    right:50px;
}

#dark{
    position:absolute;
    left:50px;
    transition-property:left;
    transition-duration:0.5s;
}

.darkened #dark{
    left:0;
}

#list a{
    color:var(--strong);
}

#title{
    margin-bottom:40px;
    color:var(--strong);
    font-size:32px;
    text-align:center;
}

#input{
    display:block;
    box-sizing:border-box;
    width:300px;
    height:50px;
    margin:0 auto;
    margin-bottom:40px;
    padding:0 25px;
    border-radius:0;
    border:none;
    border-bottom:2px solid var(--point);
    outline:none;
    background-color:#00000000;
    caret-color:var(--point);
    color:var(--weak);
    font-family:inherit;
    font-size:24px;
}

#input::placeholder{
    color:var(--line);
    font-size:16px;
}

#container{
    width:max(50%,300px);
    margin:0 auto;
    margin-top:50px;
}

#list{
    width:300px;
    margin:0 auto;
}

@keyframes fall{
    0% {
        top:-20%;
    }
    100% {
        top:100%;
    }
}

@keyframes shake{
    0% {
        transform:translateX(0px);
    }
    50% {
        transform:translateX(80px);
    }
    100% {
        transform:translateX(0px);
    }
}
