#publication-reader-popup{
    position:fixed;
    inset:0;
    z-index:9000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:36px;
    background:rgba(0,0,0,.76);
}

#publication-reader-popup.hidden{
    display:none;
}

.popup-close{
    position:sticky;
    top:0;
    left:100%;
    z-index:25;
    width:27px;
    height:27px;
    display:grid;
    place-items:center;
    margin:0 0 10px auto;
    background:#791a25;
    color:#05070a;
    border:1px solid rgba(212,175,55,.65);
    cursor:pointer;
    font-size:18px;
    line-height:1;
}

.publication-reader-window{
    width:min(1120px,92vw);
    max-height:88vh;
    overflow-y:auto;
    background:#05070a;
    border:2px solid #d4af37;
    padding:26px;
    box-shadow:0 24px 90px rgba(0,0,0,.72);
}

.publication-reader-image{
    display:block;
    width:100%;
    height:180px;
    object-fit:cover;
    object-position:center;
    margin-bottom:24px;
    border:1px solid rgba(212,175,55,.45);
}

.publication-reader-meta{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    margin-bottom:16px;
    color:#d4af37;
    font-family:Georgia,serif;
    font-size:14px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.publication-reader-text-controls{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin:0 0 18px;
}

.publication-reader-text-controls button{
    width:52px;
    height:38px;
    background:#05070a;
    border:1px solid rgba(212,175,55,.55);
    color:#d4af37;
    font-family:Georgia,serif;
    font-size:16px;
    cursor:pointer;
}

.publication-reader-text-controls button.active{
    background:#d4af37;
    color:#05070a;
}

.publication-reader-title{
    margin:0 0 14px;
    color:#f6ecd2;
    font-family:Georgia,serif;
    font-size:30px;
    line-height:1.08;
}

.publication-reader-subtitle{
    margin:0 0 30px;
    color:#f1e8d2;
    font-family:Georgia,serif;
    font-size:17px;
    line-height:1.35;
}

.publication-reader-body{
    color:#f1e8d2;
    font-family:Georgia,serif;
    font-size:15px;
    line-height:1.7;
}

.publication-reader-body h1,
.publication-reader-body h2,
.publication-reader-body h3,
.publication-reader-body h4{
    color:#d4af37;
    font-family:Georgia,serif;
    line-height:1.18;
    margin:34px 0 16px;
}

.publication-reader-body h1{
    font-size:34px;
}

.publication-reader-body h2{
    font-size:28px;
}

.publication-reader-body h3{
    font-size:23px;
}

.publication-reader-body p{
    margin:0 0 22px;
}

.publication-reader-body ul,
.publication-reader-body ol{
    margin:0 0 26px 26px;
    padding:0;
}

.publication-reader-body li{
    margin-bottom:10px;
    padding-left:4px;
}

.publication-reader-body blockquote{
    margin:30px 0;
    padding:18px 22px;
    border-left:4px solid #d4af37;
    background:rgba(212,175,55,.06);
    color:#f6ecd2;
    font-style:italic;
}

.publication-reader-body a{
    color:#d4af37;
    text-decoration:none;
    border-bottom:1px solid rgba(212,175,55,.45);
}

.publication-reader-body a:hover{
    color:#f2d36f;
    border-bottom-color:#f2d36f;
}

.publication-reader-body code{
    padding:2px 6px;
    background:#101418;
    border:1px solid rgba(212,175,55,.25);
    color:#f2d36f;
    font-family:Consolas,monospace;
    font-size:.92em;
}

.publication-reader-body pre{
    overflow:auto;
    padding:18px;
    margin:26px 0;
    background:#101418;
    border:1px solid rgba(212,175,55,.25);
}

.publication-reader-body pre code{
    padding:0;
    border:0;
    background:transparent;
}

.publication-reader-body img{
    max-width:100%;
    height:auto;
    display:block;
    margin:28px auto;
    border:1px solid rgba(212,175,55,.45);
}

.publication-reader-full-image{
    display:block;
    width:100%;
    height:auto;
    margin-top:42px;
    border:1px solid #d4af37;
    object-fit:contain;
}

#publication-reader-popup.reader-size-small .publication-reader-title{
    font-size:24px;
}

#publication-reader-popup.reader-size-small .publication-reader-subtitle{
    font-size:15px;
}

#publication-reader-popup.reader-size-small .publication-reader-body{
    font-size:13px;
}



#publication-reader-popup.reader-size-normal .publication-reader-title{
    font-size:30px;
}

#publication-reader-popup.reader-size-normal .publication-reader-subtitle{
    font-size:17px;
}

#publication-reader-popup.reader-size-normal .publication-reader-body{
    font-size:15px;
}



#publication-reader-popup.reader-size-large .publication-reader-title{
    font-size:36px;
}

#publication-reader-popup.reader-size-large .publication-reader-subtitle{
    font-size:20px;
}

#publication-reader-popup.reader-size-large .publication-reader-body{
    font-size:18px;
}
