/* Codex Article v2 — ALL layout rules are active only for opt-in authenticated owner. */
.cv2-owner-toggle { position:fixed;z-index:3900;right:16px;bottom:70px;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 24px);padding:10px 14px;color:#f7eddb;background:linear-gradient(155deg,#533928,#2c201b);border:1px solid #ab8a60;box-shadow:0 7px 22px #25180f55;border-radius:9px;cursor:pointer;font:500 13px/1.3 Georgia,serif }
.cv2-owner-toggle[hidden]{display:none!important}
.cv2-owner-toggle-copy{display:grid;gap:1px}
.cv2-owner-toggle-copy strong{font-size:15px;letter-spacing:.04em}
.cv2-owner-toggle-copy small{color:#d7c3a6}
.cv2-owner-toggle input{appearance:auto;accent-color:#9c7041;width:21px;height:21px;cursor:pointer}
body.codex-article-v2-active {--cv2-paper:#f8f3e9;--cv2-panel:#f5eedf;--cv2-ink:#29241e;--cv2-muted:#756a5c;--cv2-bronze:#90673b;--cv2-deep:#684625;--cv2-line:#ddd0bb;--cv2-focus:#744528}
body.codex-article-v2-active #hero,body.codex-article-v2-active #subgroupTabs{display:none!important}
body.codex-article-v2-active .page-shell{width:100%;max-width:none;padding:20px clamp(12px,3vw,45px) 36px;background:linear-gradient(#f2ebdded,#ebe0cfeb),url('parchment-texture.png') 0 0/760px auto repeat;box-shadow:none}
body.codex-article-v2-active .content-stage{width:100%;max-width:1540px;margin-inline:auto}
body.codex-article-v2-active #articleView{min-width:0}
body.codex-article-v2-active #articleFull.cv2-layout{display:grid;grid-template-columns:minmax(208px,230px) minmax(0,1fr) minmax(225px,260px);gap:14px;align-items:start;width:100%;max-width:none;margin:0;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}
body.codex-article-v2-active #articleFull.cv2-layout::before,body.codex-article-v2-active #articleFull.cv2-layout::after{display:none!important}
body.codex-article-v2-active .cv2-layout :is(.cv2-left,.cv2-right,.cv2-main){min-width:0}
body.codex-article-v2-active .cv2-layout .cv2-left,body.codex-article-v2-active .cv2-layout .cv2-right{display:grid;gap:14px;align-content:start;position:sticky;top:88px;max-height:calc(100vh - 104px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
body.codex-article-v2-active .cv2-layout .cv2-main{display:flex;flex-direction:column;gap:13px;padding:20px 20px 25px;background:linear-gradient(155deg,#fffdf7f5,#f8f1e4f6 90%),url('parchment-texture.png') 0 0/690px auto repeat;border:1px solid #ccb995;box-shadow:0 3px 15px #70543713}
body.codex-article-v2-active .cv2-layout .cv2-side-panel{border:1px solid #ccba9c;background:linear-gradient(150deg,#fffdf7ef,#f5ebddef);padding:16px 14px;min-width:0;box-shadow:0 2px 8px #6d432011;color:var(--cv2-ink)}
body.codex-article-v2-active .cv2-layout .cv2-side-title{display:flex;align-items:center;gap:10px;margin:0 0 11px;padding-bottom:10px;border-bottom:1px solid var(--cv2-line);color:var(--cv2-ink);font:700 19px/1.25 Georgia,serif;text-transform:uppercase;letter-spacing:.015em}
body.codex-article-v2-active .cv2-layout .cv2-side-title svg{width:25px;height:25px;color:var(--cv2-bronze);flex:0 0 auto}
body.codex-article-v2-active .cv2-layout .cv2-nav-group{border-bottom:1px solid var(--cv2-line);padding:0}
body.codex-article-v2-active .cv2-layout .cv2-nav-group:last-child{border-bottom:0}
body.codex-article-v2-active .cv2-layout .cv2-nav-group>summary{display:list-item;list-style-position:inside;cursor:pointer;padding:11px 7px;font:600 16px/1.2 Georgia,serif;color:var(--cv2-ink)}
body.codex-article-v2-active .cv2-layout .cv2-nav-group>summary::marker{color:var(--cv2-bronze)}
body.codex-article-v2-active .cv2-layout .cv2-nav-group ul{padding:0 0 7px;margin:0;list-style:none;display:grid;gap:2px}
body.codex-article-v2-active .cv2-layout .cv2-nav-group li{min-width:0}
body.codex-article-v2-active .cv2-layout .cv2-article-link-small{display:block;font:400 14px/1.2 Georgia,serif;padding:8px 8px 8px 17px;border-inline-start:2px solid transparent;white-space:normal;overflow-wrap:anywhere;color:var(--cv2-ink);text-decoration:none}
body.codex-article-v2-active .cv2-layout .cv2-article-link-small:hover,body.codex-article-v2-active .cv2-layout .cv2-article-link-small:focus-visible{background:var(--cv2-panel)}
body.codex-article-v2-active .cv2-layout .cv2-article-link-small.is-current{border-inline-start-color:var(--cv2-bronze);background:#e9ddc8;color:var(--cv2-deep);font-weight:700}
body.codex-article-v2-active .cv2-layout .cv2-view-all,body.codex-article-v2-active .cv2-layout .cv2-nav-section-link{display:block;color:var(--cv2-deep);font-size:14px;padding:8px 12px;text-decoration:none}
body.codex-article-v2-active .cv2-layout .cv2-map-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;min-height:146px;overflow:hidden;padding:19px 16px;color:#fff3df;border:1px solid #b89f79;background:linear-gradient(0deg,#1d2024f2,#17202b69 72%),url('codex-hero-banner.png') center 52%/cover;text-decoration:none}
body.codex-article-v2-active .cv2-layout .cv2-map-card svg{width:25px;height:25px;color:#e5c999;margin-bottom:4px}
body.codex-article-v2-active .cv2-layout .cv2-map-card strong{font:600 19px/1 Georgia,serif;text-transform:uppercase}
body.codex-article-v2-active .cv2-layout .cv2-map-card span{font:13px Georgia,serif;color:#f1e4cd}
body.codex-article-v2-active .cv2-layout .cv2-article-header{display:grid;gap:11px;padding-bottom:1px}
body.codex-article-v2-active .cv2-layout .cv2-breadcrumbs{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:1px 0 13px;border-bottom:1px solid var(--cv2-line);font:13px/1.3 Georgia,serif}
body.codex-article-v2-active .cv2-layout .cv2-breadcrumbs a{color:#60564e;font-weight:400;text-decoration:none}
body.codex-article-v2-active .cv2-layout .cv2-crumb-sep{color:#9a8065}
body.codex-article-v2-active .cv2-layout .cv2-crumb-current{font-weight:700;color:var(--cv2-ink)}
body.codex-article-v2-active .cv2-layout .cv2-article-eyebrow{margin:0;color:var(--cv2-bronze);font:600 12px/1.2 Georgia,serif;text-transform:uppercase;letter-spacing:.09em}
body.codex-article-v2-active .cv2-layout .cv2-main>.article-meta{display:flex;gap:12px;margin:0;order:0;color:var(--cv2-muted);font-size:13px}
body.codex-article-v2-active .cv2-layout .cv2-main>.article-meta .tag{background:transparent;border:1px solid #d6c4aa;color:var(--cv2-deep)}
body.codex-article-v2-active .cv2-layout .cv2-main>.article-back-btn{align-self:start;order:20;margin-top:12px;font-size:14px}
body.codex-article-v2-active .cv2-layout .cv2-main>h2{margin:1px 0 0;padding:0;color:#231d19;font:600 clamp(30px,2.7vw,42px)/1.1 Georgia,serif;text-transform:none;letter-spacing:normal;overflow-wrap:anywhere}
body.codex-article-v2-active .cv2-layout .cv2-main>.article-lead{margin:0;color:#5b4837;font:400 clamp(17px,1.45vw,21px)/1.35 Georgia,serif}
body.codex-article-v2-active .cv2-layout .cv2-main>.cv2-hero-image{display:block;width:100%;height:auto;max-height:310px;object-fit:cover;border-radius:3px}
body.codex-article-v2-active .cv2-layout .cv2-main>.article-body{display:grid;gap:11px;margin:5px 0 0;line-height:1.6;min-width:0;color:#302720;font-size:16px}
body.codex-article-v2-active .cv2-layout .article-body>h4{font:600 clamp(21px,1.8vw,27px)/1.25 Georgia,serif;color:#49301d;letter-spacing:normal;text-transform:none;border-bottom:1px solid #ddd0bb;padding-bottom:8px;margin:14px 0 2px;scroll-margin-top:98px}
body.codex-article-v2-active .cv2-layout .article-body h2,body.codex-article-v2-active .cv2-layout .article-body h3,body.codex-article-v2-active .cv2-layout .article-body h5{scroll-margin-top:98px}
body.codex-article-v2-active .cv2-layout .article-body :is(p,li,blockquote){font-size:inherit;line-height:1.58}
body.codex-article-v2-active .cv2-layout .article-body a{color:#754b30}
body.codex-article-v2-active .cv2-layout .article-body img{max-width:100%;height:auto}
body.codex-article-v2-active .cv2-layout .article-body :is(.content-table-wrap,.content-columns,.content-world-map,.related-cards-section){max-width:100%;min-width:0}
body.codex-article-v2-active .cv2-layout .article-body .content-table-wrap{overflow-x:auto}
body.codex-article-v2-active .cv2-layout .article-body>.article-toc{display:none!important}
body.codex-article-v2-active .cv2-layout .cv2-related-panel .cv2-article-link{display:flex;flex-direction:column;gap:3px;padding:11px 5px;border-bottom:1px solid var(--cv2-line);color:var(--cv2-ink);font:500 15px/1.2 Georgia,serif;text-decoration:none;overflow-wrap:anywhere}
body.codex-article-v2-active .cv2-layout .cv2-related-panel .cv2-article-link:last-child{border-bottom:0}
body.codex-article-v2-active .cv2-layout .cv2-related-panel .cv2-article-link small{font-size:12px;color:var(--cv2-muted);font-weight:400}
body.codex-article-v2-active .cv2-layout .cv2-toc{display:grid;gap:3px;border-inline-start:1px solid #cebda8;padding:3px 0 3px 9px}
body.codex-article-v2-active .cv2-layout .cv2-toc-link{position:relative;display:block;margin-inline-start:-10px;padding:8px 7px 8px 12px;border-inline-start:2px solid transparent;font:400 14px/1.2 Georgia,serif;color:#554637;text-decoration:none;overflow-wrap:anywhere}
body.codex-article-v2-active .cv2-layout .cv2-toc-link::before{content:'';position:absolute;width:6px;height:6px;border-radius:50%;border:1px solid var(--cv2-bronze);background:var(--cv2-paper);left:-5px;top:13px}
body.codex-article-v2-active .cv2-layout .cv2-toc-link:hover,body.codex-article-v2-active .cv2-layout .cv2-toc-link.is-active{background:#e9ddc8;border-inline-start-color:var(--cv2-bronze);color:var(--cv2-ink)}
body.codex-article-v2-active .cv2-layout :is(a,button,summary):focus-visible{outline:2px solid var(--cv2-focus);outline-offset:3px}
body.codex-article-v2-active .cv2-layout .cv2-right[hidden]{display:none!important}
@media (min-width:1500px){body.codex-article-v2-active .cv2-layout .cv2-main{padding-inline:28px}}
@media (max-width:1199px){body.codex-article-v2-active #articleFull.cv2-layout{grid-template-columns:minmax(185px,210px) minmax(0,1fr);gap:12px}body.codex-article-v2-active .cv2-layout .cv2-right{grid-column:2;position:static;overflow:visible;max-height:none;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}body.codex-article-v2-active .cv2-layout .cv2-left{grid-row:1 / span 2}}
@media (max-width:820px){body.codex-article-v2-active #articleFull.cv2-layout{grid-template-columns:minmax(0,1fr)}body.codex-article-v2-active .cv2-layout .cv2-left,body.codex-article-v2-active .cv2-layout .cv2-right{position:static;max-height:none;overflow:visible;display:grid;grid-column:1;grid-row:auto}body.codex-article-v2-active .cv2-layout .cv2-left{grid-row:2;grid-template-columns:minmax(0,1fr)}body.codex-article-v2-active .cv2-layout .cv2-main{grid-row:1}body.codex-article-v2-active .cv2-layout .cv2-right{grid-row:3;grid-template-columns:minmax(0,1fr)}body.codex-article-v2-active .cv2-layout .cv2-main{padding:16px}body.codex-article-v2-active .cv2-layout .cv2-nav-panel{max-height:400px;overflow:auto}}
@media (max-width:480px){body.codex-article-v2-active .page-shell{padding:9px 8px 18px}body.codex-article-v2-active .cv2-layout .cv2-main{padding:13px}body.codex-article-v2-active .cv2-layout .cv2-main>h2{font-size:29px}body.codex-article-v2-active .cv2-layout .cv2-map-card{min-height:105px}.cv2-owner-toggle{right:8px;bottom:60px}}
@media (prefers-reduced-motion:reduce){body.codex-article-v2-active .cv2-layout *,body.codex-article-v2-active .cv2-layout *::before{scroll-behavior:auto!important;transition:none!important}}
/* Existing dark-theme classes keep contrast if the current app uses them. */
body.codex-article-v2-active.theme-dark .cv2-layout .cv2-main,body.codex-article-v2-active.dark-mode .cv2-layout .cv2-main{background:#28241f;color:#f1e7da;border-color:#685844}
body.codex-article-v2-active.theme-dark .cv2-layout .cv2-side-panel,body.codex-article-v2-active.dark-mode .cv2-layout .cv2-side-panel{background:#302a22;color:#f1e7da}
body.codex-article-v2-active #articleFull.cv2-layout.cv2-layout--no-right{grid-template-columns:minmax(208px,230px) minmax(0,1fr)}
.cv2-banners{display:none}
body.codex-article-v2-active .cv2-banners{display:contents}
body.codex-article-v2-active .cv2-banner{position:absolute;top:0;z-index:5;width:clamp(42px,5.25vw,78px);height:auto;pointer-events:none;filter:drop-shadow(0 4px 4px #28201740)}
body.codex-article-v2-active .cv2-banner svg{display:block;width:100%;height:auto}
body.codex-article-v2-active .cv2-banner-left{left:0}
body.codex-article-v2-active .cv2-banner-right{right:0;transform:scaleX(-1)}
body.codex-article-v2-active .cv2-flag-cloth{fill:#302a27;stroke:#79502d;stroke-width:2}
body.codex-article-v2-active .cv2-flag-line{stroke:#c59c62;stroke-width:1.8;fill:none;stroke-linecap:round}
body.codex-article-v2-active .codex-navbar{min-height:66px;background:linear-gradient(180deg,#faf4e7ef,#eaddc9f2),url('parchment-texture.png') 0 0/760px auto repeat}
body.codex-article-v2-active .site-footer{background:transparent;box-shadow:none}
@media(max-width:1199px){body.codex-article-v2-active #articleFull.cv2-layout.cv2-layout--no-right{grid-template-columns:minmax(185px,210px) minmax(0,1fr)}}
@media(max-width:820px){body.codex-article-v2-active #articleFull.cv2-layout.cv2-layout--no-right{grid-template-columns:minmax(0,1fr)}}
@media(max-width:767px){body.codex-article-v2-active .cv2-banner{display:none}}
body.codex-article-v2-active .codex-navbar .brand-text{font-size:0;line-height:1.03}
body.codex-article-v2-active .codex-navbar .brand-text::before{display:block;content:'SACRALIB';font:600 clamp(20px,2.1vw,30px)/1.03 Georgia,serif;letter-spacing:.045em;color:#27221c}
body.codex-article-v2-active .codex-navbar .brand-text::after{display:block;content:'БИБЛИОТЕКА САКРАЛИУМА';font:500 10px/1.1 Georgia,serif;letter-spacing:.03em;color:#684625}
body.codex-article-v2-active .cv2-layout .cv2-related-panel .cv2-article-link:has(img){display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:9px;align-items:center}
body.codex-article-v2-active .cv2-layout .cv2-related-panel .cv2-related-thumb{grid-row:1/span 2;width:52px;height:49px;object-fit:cover;max-width:100%;border-radius:3px;background:#e9ddc8}
