#research-library{scroll-margin-top:105px}
.library-subtitle{font-size:15px;color:var(--quiet);margin-top:16px;line-height:1.8}
.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 28px}
.library-filters{display:flex;flex-wrap:wrap;gap:6px}
.library-filters button{font:12px/1.6 var(--sans);color:var(--quiet);background:transparent;border:1px solid transparent;padding:11px 15px;min-height:44px;cursor:pointer}
.library-filters button:hover{color:var(--text)}
.library-filters button[aria-pressed="true"]{border-color:var(--accent);color:var(--accent)}
#library-count{font:10px/1.8 var(--mono);color:var(--quiet);white-space:nowrap}
.library-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}
.library-card{border:1px solid var(--edge);background:#101012;min-width:0;transition:border-color .2s ease}
.library-card:hover{border-color:#d3bc9970}.library-card[hidden]{display:none}
.library-preview,.library-index-art{height:205px;background:#0a0a0b;border-bottom:1px solid var(--edge);overflow:hidden}
.library-preview{display:flex;align-items:center;justify-content:center;padding:22px;background:linear-gradient(135deg,#252320,#0d0e10)}
.library-preview img{display:block;height:100%;width:auto;max-width:100%;object-fit:contain;box-shadow:4px 8px 18px #0008}
.library-index-art{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:30px;background:linear-gradient(140deg,#d3bc990a,transparent 70%)}
.library-index-art>span:first-child{font:400 92px/.85 var(--sans);letter-spacing:-6px;color:#d3bc993b}
.library-index-art>span:last-child{font:9px/1.9 var(--mono);letter-spacing:1px;text-align:right;text-transform:uppercase;color:var(--quiet)}
.library-card-copy{padding:27px;min-height:300px;display:flex;flex-direction:column}
.library-card-copy>.label{font-size:9px;letter-spacing:1.5px;color:var(--accent)}
.library-card-copy h3{font:400 clamp(24px,2.15vw,31px)/1.15 var(--sans);letter-spacing:-.7px;margin:20px 0 16px;min-height:2.3em;text-wrap:balance}
.library-card-copy>p:not(.label){font:14px/1.8 var(--sans);color:var(--quiet)}
.library-card-copy>.library-card-meta{font:10px/1.8 var(--mono)!important;margin-top:20px;min-height:3.6em}
.library-card-copy .text-link{margin-top:auto;padding-top:22px;width:100%;justify-content:space-between;border-bottom:0}
.library-editorial-note{max-width:80ch;font-size:12px;line-height:1.8;color:var(--quiet);margin-top:28px}
.library-dialog{width:min(850px,calc(100vw - 48px));max-height:88dvh;padding:48px;overflow-y:auto}
.library-dialog #library-read-title{font:400 clamp(32px,4vw,48px)/1.08 var(--sans);letter-spacing:-1.3px;text-transform:none;margin:25px 0 30px;max-width:21ch}
.library-reading{font:15px/1.85 var(--sans);color:var(--quiet)}
.library-reading .library-lead{font:400 22px/1.5 var(--sans);color:var(--text);margin-bottom:28px}
.library-reading section{margin-top:28px;padding-top:24px;border-top:1px solid var(--edge)}
.library-reading h3{font:400 21px/1.4 var(--sans);letter-spacing:-.3px;color:var(--text);margin-bottom:12px}
.library-definitions{margin:0}.library-definitions>div{padding:18px 0;border-top:1px solid var(--edge)}
.library-definitions dt{color:var(--accent);margin-bottom:9px}.library-definitions dd{margin:0}
.library-steps{padding-left:24px;margin:0}.library-steps li{padding:0 0 22px 8px}.library-steps li::marker{color:var(--accent)}
.library-reader-actions{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:18px}.library-reading .text-link{font-size:12px;min-height:44px;padding-block:12px;white-space:normal;text-align:left}
.library-metadata{margin:0 0 25px}.library-metadata>div{display:grid;grid-template-columns:145px 1fr;gap:20px;padding:12px 0;border-top:1px solid var(--edge);font-size:12px;line-height:1.8}.library-metadata dt{color:var(--quiet)}.library-metadata dd{margin:0;color:var(--text);overflow-wrap:anywhere}
.library-source-box .label{color:var(--accent);font-size:9px}.library-reading .library-source-note{font-size:11px;line-height:1.85;margin-top:18px}
.library-source-preview{background:#0b0b0c;border:1px solid var(--edge);padding:24px;margin:0 0 28px;text-align:center}.library-source-preview img{display:block;max-height:320px;max-width:100%;width:auto;margin:auto}.library-source-preview figcaption{font:9px/1.8 var(--mono);letter-spacing:1px;color:var(--quiet);margin-top:18px}
.library-dialog #library-read-title:focus{outline:none}.library-dialog #library-read-title:focus-visible{outline:1px solid var(--accent);outline-offset:6px}
@media(max-width:1050px){.library-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){.library-toolbar{display:block}.library-filters{gap:3px}.library-filters button{padding:10px 11px}#library-count{margin-top:15px}.library-catalog{grid-template-columns:1fr;gap:20px}.library-card-copy{padding:25px;min-height:0}.library-card-copy h3{font-size:30px;min-height:0;max-width:22ch}.library-card-copy>.library-card-meta{min-height:0}.library-preview,.library-index-art{height:180px}.library-dialog{width:calc(100vw - 28px);padding:32px 24px;max-height:90dvh}.library-dialog #library-read-title{font-size:34px;letter-spacing:-1px}.library-metadata>div{grid-template-columns:1fr;gap:4px}.library-reading{font-size:15px}.library-reader-actions{display:block}.library-reader-actions .text-link{display:flex;width:fit-content}}
@media(prefers-reduced-motion:reduce){.library-card{transition:none}}

/* Research shows only the entrance; the collection lives in one spacious window. */
#research-library{padding-block:48px;border-block:1px solid var(--edge)}
#research-library h2{max-width:none;width:100%;font:400 clamp(34px,3.7vw,54px)/1.08 var(--sans);letter-spacing:-1.5px}
#open-library{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:68px;padding:0;border:0;background:transparent;color:var(--text);font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer}
#open-library span{font:28px var(--sans);color:var(--accent);transition:transform .2s ease}
#open-library:hover{color:var(--accent)}#open-library:hover span{transform:translate(3px,-3px)}
#library-dialog{width:min(1400px,calc(100vw - 64px));height:calc(100dvh - 64px);max-height:calc(100dvh - 64px);padding:0 44px 44px}
.library-window-controls{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;background:#111113f5;border-bottom:1px solid var(--edge);margin-bottom:30px;backdrop-filter:blur(12px)}
.library-window-controls .dialog-close{position:static;float:none;margin-left:auto}
.library-window-controls .text-link{font-size:12px;min-height:44px;margin:0;padding:12px 0;border:0}
#library-back[hidden],#library-catalog-view[hidden],#library-entry-view[hidden]{display:none}
.library-window-heading{padding:10px 0 32px}
.library-window-heading>.label{color:var(--accent);font-size:9px}
#library-window-title{font:400 clamp(44px,5vw,68px)/1.05 var(--sans);letter-spacing:-2px;margin-top:18px;color:var(--text)}
.library-window-intro{font-size:14px;line-height:1.85;color:var(--quiet);max-width:60ch;margin-top:18px}
#library-entry-view{max-width:780px;margin:0 auto;padding:4px 0 20px}
#library-dialog #library-read-title{max-width:25ch}
#library-window-title:focus{outline:none}#library-window-title:focus-visible{outline:1px solid var(--accent);outline-offset:6px}
@media(max-width:1050px){#library-dialog{padding-inline:30px}}
@media(max-width:750px){#research-library{padding-block:30px}#library-dialog{width:calc(100vw - 20px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);padding:0 22px 30px}.library-window-controls{min-height:62px;margin-bottom:22px}.library-window-heading{padding:8px 0 26px}#library-window-title{font-size:44px;letter-spacing:-1.5px}.library-window-intro{font-size:14px}#library-dialog #library-read-title{margin-top:15px}}
@media(prefers-reduced-motion:reduce){#open-library span{transition:none}#open-library:hover span{transform:none}}

.library-search{display:block!important;max-width:460px;margin-top:24px;font:11px/1.8 var(--sans);color:var(--quiet)}
#library-search{display:block;width:100%;min-height:46px;border:1px solid var(--edge);border-radius:0;background:#09090b;color:var(--text);padding:12px 14px;margin-top:8px;font:14px/1.5 var(--sans)}
#library-search:focus-visible{outline:1px solid var(--accent);outline-offset:3px}
.library-empty{padding:28px;border:1px solid var(--edge);color:var(--quiet);font-size:14px;line-height:1.8}
.library-empty[hidden]{display:none}
.library-annotation-options{display:grid;gap:10px;margin-top:22px}
.library-annotation-options button{display:flex;align-items:center;gap:16px;min-height:48px;padding:13px 16px;border:1px solid var(--edge);background:#09090b;color:var(--text);text-align:left;font:13px/1.7 var(--sans);cursor:pointer}
.library-annotation-options button span{font:10px var(--mono);color:var(--accent)}
.library-annotation-options button[aria-pressed="true"]{border-color:var(--accent);background:#d3bc9909}
#library-annotation-note{min-height:7em;margin-top:20px;padding:18px;border-left:1px solid var(--accent);background:#09090b;color:var(--text);font-size:14px;line-height:1.85}
.library-timeline{list-style:none;padding:0;margin:30px 0}
.library-timeline li{display:grid;grid-template-columns:75px 1fr;gap:22px;padding:25px 0;border-top:1px solid var(--edge)}
.library-timeline time{font:19px/1.5 var(--mono);color:var(--accent)}
.library-timeline h3{margin-bottom:10px}.library-timeline .text-link{margin-top:8px}
@media(max-width:750px){#library-search{font-size:16px}.library-timeline li{grid-template-columns:1fr;gap:12px}.library-annotation-options button{font-size:13px}}

#research-library .library-tagline{margin-top:14px;color:var(--quiet);font-size:14px;line-height:1.7;letter-spacing:0}
