/* Shared Protocore identity for the complete publication library.
   Scholarly bodies, figure colors and downloadable evidence remain unchanged. */
@font-face{font-family:Rubik;src:url(rubik-400-normal-latin.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Rubik;src:url(rubik-400-normal-cyrillic.woff2) format('woff2');font-weight:400;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Rubik;src:url(rubik-700-normal-latin.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Rubik;src:url(rubik-700-normal-cyrillic.woff2) format('woff2');font-weight:700;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
:root{--paper:#111310;--paper-deep:#0c0e0b;--paper-raised:#1b2017;--ink:#ecece1;--muted:#b1b7a8;--signal:#d7f975;--signal-hi:#e8ffa8;--accent:#f7ae52;--rule:#414b35;--hairline:#343c2d;--hairline-strong:#556046;--signal-glow:#d7f97525;--signal-veil:#d7f97509;--font-display:Rubik,Arial,sans-serif;--bs-body-bg:#111310;--bs-body-color:#ecece1;--bs-link-color:#d7f975;--bs-link-hover-color:#e8ffa8;color-scheme:dark}
body.protocore-library{background:#111310;color:var(--ink);font-family:Rubik,Arial,sans-serif}
.protocore-library::before,.protocore-library::after{display:none}
.protocore-library a{color:var(--signal)}
.protocore-library :is(a,button,summary,input):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.protocore-library ::selection{color:#111310;background:#d7f975}
.protocore-library h1,.protocore-library h2,.protocore-library h3{font-weight:400;letter-spacing:-.045em;text-transform:none}
.protocore-library p,.protocore-library li{line-height:1.8}
.library-skip{position:fixed;top:-100px;left:20px;z-index:1100;background:var(--signal);color:#111!important;padding:12px}
.library-skip:focus{top:14px}
#quarto-header{border-bottom:1px solid var(--hairline);background:#111310f5;backdrop-filter:blur(12px)}
.protocore-library .navbar{padding:18px 0;border:0;background:transparent!important}
.protocore-library .navbar.navbar-scrolled{background:transparent!important}
.protocore-library .navbar>.navbar-container{padding-inline:4.2vw;gap:20px}
.protocore-library .navbar-brand-container{margin:0!important}
.protocore-library .library-brand{display:flex;align-items:center;gap:10px;margin-right:14px;font:700 28px/1 Rubik,sans-serif;letter-spacing:-1.5px;text-transform:none;color:var(--ink)}
.library-brand svg{width:30px;height:30px;stroke:var(--signal);stroke-width:2;fill:none}
.library-brand .brand-plus{color:var(--signal);font-size:22px;vertical-align:top;margin-left:2px}
.protocore-library .navbar-nav .nav-link{font:400 12px/1.5 Rubik,sans-serif;text-transform:none;letter-spacing:0;border:0!important;padding:9px 12px;color:var(--muted)}
.protocore-library .navbar-nav .nav-link:hover,.protocore-library .navbar-nav .nav-link:focus-visible{background:#232b19!important;color:var(--signal)!important}
.protocore-library .navbar-nav .nav-link.active{color:var(--signal)!important;text-decoration:underline;text-underline-offset:8px}
.protocore-library .navbar .quarto-navbar-tools a{color:var(--signal)!important}
.protocore-library .navbar .language-switch{border:1px solid var(--hairline);font-size:12px}
.protocore-library .navbar .language-switch:hover{background:#28351a;color:var(--signal)!important}
.protocore-library .navbar-toggler{border:1px solid var(--hairline);padding:8px}
.library-context{display:flex;align-items:center;gap:12px;color:var(--muted);font:10px/1.5 'JetBrains Mono',monospace;letter-spacing:.07em;margin:34px 0 26px;min-height:28px}
.library-context a{text-decoration:none;color:var(--muted)}
.library-context a:first-child{color:var(--signal)}
.library-mark{display:flex;flex-direction:column;gap:3px;margin-left:auto;perspective:100px;width:45px;flex-shrink:0}
.library-mark i{display:block;background:var(--signal);height:5px;width:26px;transform:rotate(-20deg) skewX(-20deg);animation:library-layer 4s ease-in-out infinite alternate}
.library-mark i:nth-child(2){animation-delay:-1s;opacity:.6}.library-mark i:nth-child(3){animation-delay:-2s;opacity:.3}
@keyframes library-layer{to{translate:8px 0}}
.library-downloads{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 30px;border-block:1px solid var(--hairline);padding:15px 0;font:11px/1.5 'JetBrains Mono',monospace}
.library-downloads>span{color:var(--muted);margin-right:auto}.library-downloads a{padding:7px 10px;border:1px solid var(--hairline);text-decoration:none}.library-downloads a:first-child{padding-left:0;border-color:transparent}.library-downloads a:hover{background:var(--signal);color:#111}
.protocore-library #title-block-header .quarto-title .title{display:block;border:0;padding:0;font-size:clamp(34px,4.5vw,70px);font-weight:400;line-height:1.07;letter-spacing:-.055em;max-width:22ch;margin-bottom:24px}
.protocore-library #title-block-header .subtitle{color:var(--muted);font-size:clamp(17px,1.5vw,23px);max-width:65ch;margin:20px 0 32px;line-height:1.55}
.protocore-library .quarto-title-meta{border-top:1px solid var(--hairline);padding-top:22px;margin-top:20px}
.protocore-library .quarto-title-meta-heading{color:var(--muted);font-size:10px!important;letter-spacing:.1em}
.protocore-library .quarto-title-meta-contents p{font-size:14px;margin-bottom:20px}
.protocore-library .abstract{background:#1b2116;border:1px solid #3d4930;border-left:3px solid var(--signal);padding:clamp(20px,3vw,38px);margin-top:18px}
.protocore-library .abstract-title{color:var(--signal);font:11px/1.5 'JetBrains Mono',monospace!important;text-transform:uppercase;margin-bottom:18px}
.protocore-library .abstract p{font-size:16px;line-height:1.85;color:#d6dacd}
.protocore-library main.content>.level1,.protocore-library main.content>.level2{scroll-margin-top:100px}
.protocore-library main.content h2{font-size:clamp(28px,3vw,42px);border-color:var(--hairline);padding-bottom:15px}
.protocore-library main.content h3{font-size:clamp(22px,2vw,30px)}
.protocore-library .header-section-number{color:var(--signal)}
.protocore-library #TOC{border-left:1px solid var(--hairline);padding-left:18px}
.protocore-library #TOC .nav-link{font-size:12px;line-height:1.5;color:var(--muted)}
.protocore-library #TOC .nav-link.active{color:var(--signal)!important;border-color:var(--signal)!important}
.protocore-library #toc-title{font:11px/1.6 'JetBrains Mono',monospace;margin-bottom:16px;color:var(--signal)}
.protocore-library table{--bs-table-bg:#171c13;--bs-table-color:#ecece1;--bs-table-striped-color:#ecece1;--bs-table-striped-bg:#222b1a;--bs-table-border-color:#455039}
.protocore-library .table-scroll{border:1px solid var(--hairline);background:#171c13}
.protocore-library .table-scroll-hint{color:var(--muted)}
.protocore-library blockquote,.protocore-library div.callout{border-color:var(--hairline);color:var(--ink);background:#1b2116}
.protocore-library .callout-header{background:#27321c!important}
.protocore-library .ds-hero{border-bottom:1px solid var(--hairline);padding-top:35px;align-items:start;grid-template-columns:minmax(0,1fr) 300px}
.protocore-library .ds-hero h1{font-size:clamp(36px,5.6vw,80px);font-weight:400;letter-spacing:-.055em;text-transform:none;max-width:20ch;line-height:1.06}
.protocore-library .ds-hero p{font-size:17px;max-width:64ch}
.protocore-library .ds-hero .hero-kicker p{font:11px/1.5 'JetBrains Mono',monospace;color:var(--signal)}
.protocore-library .titleblock{background:#1e2716;border:1px solid #5b6c42;transform:rotate(2deg);margin-top:40px}
.protocore-library .spec-strip{background:#d7f975;color:#151d0c;border:0}
.protocore-library .spec-strip *{color:inherit}
.protocore-library .section-band,.protocore-library .closing-panel{background:#1c2415;border-color:var(--hairline)}
.protocore-library .bp-band{background:linear-gradient(#d7f97508 1px,transparent 1px),linear-gradient(90deg,#d7f97508 1px,transparent 1px),#1c2614;background-size:60px 60px;color:var(--ink);border-width:1px}
.protocore-library .ds-row{border-color:var(--hairline)}
.protocore-library .ds-row:hover{background:#27361b}.protocore-library .ds-row:hover :is(h3,p,.ds-code){color:var(--ink)}
.protocore-library .button,.protocore-library .publication-action{border:1px solid #5c6a45;text-transform:none;letter-spacing:0;box-shadow:none}
.protocore-library .button-primary{background:var(--signal);color:#111}
.protocore-library .button:hover,.protocore-library .publication-action:hover{background:var(--signal);color:#111;box-shadow:none}
.protocore-library .publication-list{display:block;counter-reset:papers}
.protocore-library .publication-card{position:relative;counter-increment:papers;border:0;border-top:1px solid #52613f;background:transparent;padding:35px 4% 35px 110px;box-shadow:none;transform:none;margin-bottom:0}
.protocore-library .publication-card::before{content:'0' counter(papers);position:absolute;left:0;top:38px;font:400 50px/1 Rubik,sans-serif;letter-spacing:-.07em;color:var(--signal)}
.protocore-library .publication-card:hover{transform:none;box-shadow:none;background:#1a2014}
.protocore-library .publication-card h3{font-size:clamp(25px,3vw,42px);font-weight:400;max-width:32ch;line-height:1.12}
.protocore-library .publication-card p{max-width:85ch}.protocore-library .publication-card .pub-meta{font-size:11px;color:var(--signal)}
.protocore-library .research-intro h2{border:0;font-size:clamp(32px,4.5vw,65px);max-width:24ch;text-transform:none;padding-top:0;line-height:1.1}
.protocore-library .research-intro{padding-block:24px 40px}
.protocore-library .section-heading h2{text-transform:none;border:0}
.library-footer{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:28px;padding:50px 4.2vw;border-top:1px solid var(--hairline);margin-top:70px;background:#0c0f0a}
.library-footer-brand{font:700 30px/1.2 Rubik,sans-serif;letter-spacing:-1.5px;text-decoration:none;color:var(--ink)!important}.library-footer-brand span{color:var(--signal)}
.library-footer p{font-size:15px;margin:0}.library-footer small{font-size:12px;color:var(--muted)}
.library-footer nav{display:flex;flex-direction:column;gap:12px;font-size:13px}.library-footer nav a{text-decoration:none;color:var(--muted)}
.library-motion{justify-self:start;background:transparent;color:var(--muted);border:1px solid var(--hairline);padding:9px 13px;font:11px 'JetBrains Mono',monospace}
.library-motion[hidden]{display:none}
.protocore-library.library-paused *,.protocore-library.library-paused *::before,.protocore-library.library-paused *::after{animation-play-state:paused!important;scroll-behavior:auto!important}
.protocore-library.library-paused .reveal{opacity:1;transform:none;transition:none}
@media(max-width:1100px){.protocore-library .navbar-nav .nav-link{padding-inline:7px;font-size:11px}.protocore-library .library-brand{font-size:25px}.protocore-library .navbar>.navbar-container{gap:12px}.protocore-library .ds-hero{grid-template-columns:minmax(0,1fr) 250px}}
@media(max-width:991px){.protocore-library .navbar-collapse{padding:15px 0}.protocore-library .navbar-nav .nav-link{font-size:15px;padding:12px}.protocore-library .navbar-brand-container{margin-right:auto!important}.protocore-library .ds-hero{display:block}.protocore-library .titleblock{max-width:450px}.library-footer{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.protocore-library .navbar{padding:14px 0}.protocore-library .navbar>.navbar-container{padding-inline:20px;gap:10px}.protocore-library .library-brand{font-size:25px;margin-right:0}.library-brand svg{width:24px;height:24px}.library-context{font-size:8px;gap:8px;margin:25px 0 20px;line-height:1.8}.library-mark{width:30px}.library-downloads{font-size:10px;gap:8px}.library-downloads>span{font-size:9px}.protocore-library #title-block-header .quarto-title .title{font-size:36px;overflow-wrap:anywhere}.protocore-library .quarto-title-meta{gap:10px}.protocore-library .abstract p{font-size:15px}.protocore-library .publication-card{padding:25px 0 30px 45px}.protocore-library .publication-card::before{font-size:28px;top:30px}.protocore-library .publication-card h3{font-size:27px}.protocore-library .publication-card .publication-action{margin:4px 2px 4px 0;font-size:11px}.protocore-library .ds-hero h1{font-size:42px!important}.protocore-library .ds-hero p{font-size:16px}.library-footer{grid-template-columns:1fr;padding:35px 20px;gap:25px}.library-footer nav{flex-direction:row;flex-wrap:wrap;font-size:12px}}
@media(prefers-reduced-motion:reduce){.protocore-library *,.protocore-library *::before,.protocore-library *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.protocore-library .reveal{opacity:1!important;transform:none!important}.library-motion{display:none!important}}
@media print{#quarto-header,.library-context,.library-downloads,.library-footer,.library-skip{display:none!important}.protocore-library{background:white;color:black}.protocore-library .abstract{background:white;color:black}}
@media(max-width:991px){
 .protocore-library .navbar>.navbar-container{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;padding-inline:18px}
 .protocore-library .navbar-brand-container{grid-column:1;grid-row:1;order:0;margin:0!important;min-width:0}
 .protocore-library #quarto-search{grid-column:3;grid-row:1;order:0;margin:0}
 .protocore-library .quarto-navbar-tools{grid-column:2;grid-row:1;order:0;margin:0}
 .protocore-library .navbar-toggler{grid-column:4;grid-row:1;order:0;padding:6px;width:34px;height:34px}
 .protocore-library .navbar-toggler-icon{width:20px;height:16px;background:linear-gradient(var(--ink),var(--ink)) 0 0/100% 1px,linear-gradient(var(--ink),var(--ink)) 0 50%/100% 1px,linear-gradient(var(--ink),var(--ink)) 0 100%/100% 1px;background-repeat:no-repeat}
 .protocore-library #navbarCollapse{grid-column:1/-1;grid-row:2;order:0}
 .protocore-library #quarto-search .aa-DetachedSearchButton{padding:3px;min-width:30px;min-height:32px}
 .protocore-library .navbar .language-switch{padding:6px;font-size:10px}
 .protocore-library .library-brand{font-size:23px;gap:7px}.library-brand .brand-plus{font-size:17px}
 .library-brand svg{width:23px;height:23px}
}
@media(max-width:360px){.protocore-library .navbar>.navbar-container{padding-inline:12px;gap:5px}.protocore-library .library-brand{font-size:21px;gap:6px}}
@media(max-width:991px){
 .protocore-library .navbar>.navbar-container{width:100%;margin:0;grid-template-columns:minmax(0,1fr) 30px 32px 34px}
 .protocore-library .navbar-brand-container{max-width:none!important;width:auto}
 .protocore-library .library-brand{overflow:visible;white-space:nowrap}
 .protocore-library #quarto-search{width:32px!important}
 .protocore-library .quarto-navbar-tools{width:30px;padding:0}
 .protocore-library .navbar-toggler{margin:0}
 .protocore-library .navbar-toggler-icon{filter:none!important}
}
.library-footer .library-legal{grid-column:1/-1;font-size:12px;line-height:1.7;color:#949f86;margin:0;border-top:1px solid var(--hairline);padding-top:18px}.library-footer .library-legal a{color:inherit;text-decoration:underline;text-underline-offset:3px}
