/* The Grand Library: architectural atmosphere, physical volumes, readable pages. */
:root{--night:#120d09;--wall:#1c140e;--ink:#f3e5cb;--soft:#c0ae92;--faint:#ad9a7d;--line:#56412a;--brass:#d5b778;--focus:#ffe0a0;--max:90rem;--live:#cba861;--red:#c97b65}
html{scroll-behavior:smooth;scroll-padding-top:5.5rem}
body{background:#120d09;color:var(--ink)}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}
.mast{background:#130e0a;border-color:#b7915030}
.mast-row{min-height:5.3rem}
.mark{flex-direction:column;align-items:flex-start;gap:.45rem}
.mark-name{font-size:1.5rem}
.mark-sub{font-size:.53rem;letter-spacing:.27em;color:#c9ae7c}
.mark-sub .live-light{display:none}
.nav a{font-size:.79rem;border-radius:0;padding:.7rem .9rem}
.nav a[aria-current=page]{background:transparent;color:var(--brass)}
.nav .ask{background:transparent;color:var(--brass);border:1px solid #ae874b88;padding:.75rem 1.2rem;margin-left:1rem}
.nav .ask:hover{background:var(--brass);color:var(--night)}
.menu summary{border-radius:0;border-color:#99774699;color:var(--ink);min-height:44px}
.menu-panel{border-radius:1px;background:#21170f;border-color:var(--line)}
.is-home .mast{position:absolute;inset:0 0 auto;background:linear-gradient(#0e0906d9,#0e090677,transparent);border:0;z-index:10}
.is-home .mast-row{min-height:6rem}
.btn{border-radius:2px;font-size:.86rem;font-weight:500;letter-spacing:.025em;min-height:3rem}
.btn.quiet{border-color:#91744688}
.kicker{font-weight:500;font-size:.64rem;letter-spacing:.2em;color:var(--brass)}
.grand-hall{min-height:780px;height:100svh;max-height:1150px;position:relative;isolation:isolate;overflow:hidden;background:#21180f;display:grid;place-items:center;text-align:center}
.hall-world{position:absolute;inset:-2%;z-index:-4;will-change:transform;transform:translate3d(var(--pan-x,0px),var(--pan-y,0px),0) scale(var(--hall-scale,1.015));transition:transform 1.2s cubic-bezier(.2,.65,.3,1)}
.hall-world img{width:100%;height:100%;object-fit:cover;object-position:center 46%;filter:brightness(.83)}
.grand-hall:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#09060444 0%,transparent 24%,#0d080533 48%,#0d080588 72%,#0d0805dd 100%),radial-gradient(ellipse at 50% 62%,#130b0670 0%,#130b0600 59%);pointer-events:none}
.grand-hall:after{content:"";position:absolute;inset:6.5rem 2rem 2rem;border:1px solid #e6c48b32;pointer-events:none;z-index:-1;mask-image:linear-gradient(#000,transparent 24%,transparent 75%,#000)}
.hall-light{position:absolute;inset:0;z-index:-3;background:radial-gradient(ellipse at 51% 21%,#ffda7b29,transparent 42%);mix-blend-mode:screen;opacity:.65;animation:light-breathe 8s ease-in-out infinite alternate;pointer-events:none}
@keyframes light-breathe{to{opacity:1}}
.library-atmosphere{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.7}
.entrance-ornament{position:absolute;top:24%;left:50%;transform:translateX(-50%);width:2.4rem;color:#ecd3a3;filter:drop-shadow(0 3px 7px #000)}
.hall-title{padding:13rem 1rem 5.5rem;position:relative;color:#fff1d8;text-shadow:0 3px 30px #0c0805bb}
.hall-overline{font-size:.61rem;letter-spacing:.36em;text-transform:uppercase;margin:0 0 1.5rem;color:#f7dfb5}
.hall-title h1{font:400 clamp(5.2rem,10.3vw,10rem)/.78 var(--serif);letter-spacing:-.028em;margin:0 0 1.5rem;text-wrap:nowrap}
.hall-title h1 span{display:block;font-size:.53em;line-height:1.25;font-style:italic;letter-spacing:0}
.hall-poem{font:400 italic clamp(1.4rem,2.2vw,2rem)/1.3 var(--serif);margin:.5rem 0 1.2rem;color:#efd8ae}
.hall-intro{font-size:.81rem;line-height:1.7;color:#f3e5cf;margin:0}
.hall-actions{display:flex;align-items:center;justify-content:center;gap:2rem;margin-top:2rem}
.library-enter{display:inline-flex;align-items:center;justify-content:center;gap:2.5rem;min-height:3.3rem;border:1px solid #ceb07a;padding:.8rem 1.6rem;background:#cdaf78;color:#26170b;text-shadow:none;text-decoration:none;font-size:.72rem;letter-spacing:.07em;box-shadow:inset 0 0 0 3px #ceb07a,inset 0 0 0 4px #59402145;transition:background .25s,transform .25s}
.library-enter:hover{background:#edd19c;transform:translateY(-2px)}
.library-enter span{font-size:1.3rem;font-weight:400}
.hall-actions>a:last-child{color:#efdfc5;font-size:.73rem;text-decoration:none;border-bottom:1px solid #dec39877;padding:.7rem 0}
.hall-side{position:absolute;font-size:.53rem;letter-spacing:.22em;text-transform:uppercase;bottom:38%;margin:0;writing-mode:vertical-rl;color:#ecdfc6}
.hall-side--left{left:3.2rem;transform:rotate(180deg)}
.hall-side--right{right:3.2rem}
.hall-side span{margin:.7rem 0}
.hall-bottom{position:absolute;bottom:2.65rem;left:4.5%;right:4.5%;display:flex;justify-content:space-between;align-items:flex-end;color:#dcc8a5;font-size:.65rem;gap:1rem}
.hall-bottom p{margin:0}
.hall-count{font:400 1.6rem var(--serif);margin-right:.45rem}
.scroll-invitation{display:flex;gap:.9rem;align-items:center;text-decoration:none;letter-spacing:.13em;text-transform:uppercase;font-size:.53rem}
.scroll-invitation span{font-size:1.6rem}
.ambience-control{border:1px solid #b7996244;color:#ddc69d;padding:.6rem .8rem;background:#180e0777;font-size:.6rem;cursor:pointer;min-height:44px}
.library-colophon{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.7rem var(--gutter);border-block:1px solid #c29a5140;color:#b49d76;background:#1d140d;font-size:.69rem}
.library-colophon>span{display:flex;align-items:center;gap:.75rem;color:#d4b57a;font:400 1.1rem var(--serif)}
.library-colophon svg{width:1.7rem}
.library-colophon p{margin:0}.library-colophon i{font-style:normal;padding:0 1rem;color:#735630}
.library-colophon>a{font-size:.65rem;text-decoration:none;color:#d4b57a;white-space:nowrap}
.library-stacks{padding:6rem 0 4rem;background:radial-gradient(ellipse at 80% 35%,#34251655,transparent 55%),#15100b;position:relative;scroll-margin-top:0}
.stacks-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-bottom:2.8rem;border-bottom:1px solid #71553660}
.stacks-heading h2{font-size:clamp(2.3rem,3.8vw,3.7rem);margin:0}
.stacks-heading>p{font-size:.8rem;line-height:1.8;color:#bba587;max-width:22rem;margin:0}
.library-workspace{display:grid;grid-template-columns:215px minmax(0,1fr);gap:3.4rem;margin-top:2.7rem}
.library-index{padding-right:1.4rem;border-right:1px solid #8561393d}
.index-title{font-size:.61rem;letter-spacing:.18em;text-transform:uppercase;color:#cfb17b;padding:.6rem 0 1rem;border-bottom:1px solid #92713d55}
.library-index nav{display:flex;flex-direction:column;gap:.3rem}
.library-index nav a{display:flex;align-items:baseline;gap:.6rem;color:#b9a488;text-decoration:none;font-size:.7rem;padding:.6rem .3rem;min-height:44px;transition:color .2s;position:relative;line-height:1.5}
.library-index nav a>span:last-child{margin-left:auto;color:#ae9266;font-size:.6rem}
.library-index .index-no{color:#ac8b57;font:400 .66rem var(--serif);width:1.2rem;flex-shrink:0}
.library-index nav a:hover,.library-index nav a[aria-current]{color:#f4deaf;background:linear-gradient(90deg,#b78b3918,transparent)}
.library-index nav a[aria-current]:before{content:"";position:absolute;left:-.6rem;top:.6rem;bottom:.6rem;width:2px;background:#d0aa68}
.my-shelf{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid #aa86514d;background:#23190f;color:#ddc499;padding:.8rem;font-size:.69rem;text-align:left;margin-top:1.7rem;cursor:pointer;min-height:44px}
.my-shelf[aria-pressed=true]{border-color:var(--brass);color:var(--ink)}
.index-note{font-size:.64rem;color:#b7a182;line-height:1.7;margin:.9rem .1rem 0}
.library-search{display:flex;align-items:center;gap:1rem;border:1px solid #9a744650;background:#21180f;box-shadow:inset 0 2px 9px #0003;min-height:3.35rem;padding:0 .9rem}
.library-search>svg{width:1.1rem;color:#ba9c6c;flex:none}
.library-search input{width:100%;min-width:0;border:0;background:none;outline-offset:4px;color:#f1dcba;font-size:.75rem;padding:1rem 0;box-shadow:none;min-height:44px}
.library-search input::placeholder{color:#baa585;opacity:1}
.library-search button{font-size:.65rem;color:#e7c994;border:0;border-left:1px solid #6e522f;background:none;cursor:pointer;padding:.5rem .1rem .5rem 1rem;min-height:44px}
.shelf-toolbar{display:flex;align-items:center;justify-content:space-between;margin:1.8rem 0 .25rem;gap:1rem}
.collection-label{font:400 1.35rem var(--serif);margin:0;color:#ecd4ac}
.shelf-toolbar label{font-size:.6rem;color:#b6a080;display:flex;align-items:center;gap:.4rem}
.shelf-toolbar select{font-size:.65rem;color:#e0c8a4;background:#21180f;border:1px solid #7c5b364f;padding:.4rem;min-height:44px;max-width:9rem}
.shelf-result-head{display:flex;align-items:center;justify-content:space-between;font-size:.58rem;color:#b7a184;gap:1rem;margin-bottom:1rem}
.shelf-result-head p{margin:0}
.shelf-results{transition:opacity .15s;min-height:500px}.shelf-results[aria-busy=true]{opacity:.48;pointer-events:none}
.bookshelf{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:1.7rem;row-gap:2.9rem}
.volume{position:relative;min-width:0;padding:.8rem 0 1.1rem;perspective:900px}
.volume:after{content:"";position:absolute;left:-.85rem;right:-.85rem;bottom:2.3rem;height:1rem;z-index:0;background:linear-gradient(#a3754077,#50361f 14%,#23170e 30%,#704c2d 37%,#2b1a10 55%,#190f09);box-shadow:0 9px 13px #000a,inset 0 -1px #b28a5233;border-block:1px solid #b6945733}
.book{display:block;position:relative;isolation:isolate;height:clamp(224px,22vw,304px);color:#e5cda1;text-decoration:none;transform-style:preserve-3d;transform:rotateY(-12deg) rotateZ(-1deg);transform-origin:left center;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .35s;z-index:1;filter:drop-shadow(13px 16px 10px #0008);margin-bottom:1rem;margin-right:4px}
.volume:nth-child(3n) .book{transform:rotateY(-8deg) rotateZ(1deg)}
.book:hover,.book:focus-visible,.volume:nth-child(3n) .book:hover,.volume:nth-child(3n) .book:focus-visible{transform:translateY(-12px) rotateY(-23deg) rotateZ(0deg);filter:drop-shadow(20px 23px 13px #000b);outline:2px solid var(--brass);outline-offset:5px}
.book-cover{display:flex;position:absolute;inset:0;flex-direction:column;align-items:center;padding:1.3rem .85rem .8rem 1.15rem;border-radius:2px 4px 4px 2px;border:1px solid #dac68a36;border-left:5px solid #0004;background:linear-gradient(90deg,#0007,transparent 8%,#fff1 10%,transparent 13%,transparent 93%,#0004),repeating-linear-gradient(30deg,#ffffff03 0 1px,transparent 1px 4px),var(--binding,#29443c);box-shadow:inset 2px 0 1px #e8d49333,inset -1px 0 3px #0009,0 0 1px #000;backface-visibility:hidden}
.book-rule{position:absolute;inset:.65rem .55rem .65rem .85rem;border:1px solid #d0b7784a;pointer-events:none}
.book-rule:before,.book-rule:after{content:"✧";position:absolute;left:50%;transform:translateX(-50%);font-size:.75rem;line-height:1;color:#c6ad73;background:var(--binding);padding:0 .25rem}
.book-rule:before{top:-.36rem}.book-rule:after{bottom:-.36rem}
.book-pages{position:absolute;inset:4px -7px 4px 6px;background:repeating-linear-gradient(90deg,#ddd1b6 0 1px,#a89979 1px 2px);transform:translateZ(-8px);border-radius:0 3px 3px 0;box-shadow:3px 0 5px #0008}
.book-spine{position:absolute;left:-7px;top:0;width:9px;height:100%;writing-mode:vertical-rl;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#000b,transparent,#ffffff09),var(--binding);font-size:.49rem;letter-spacing:.2em;color:#d8bf8b;border-block:1px solid #a88c5555;transform:rotateY(-50deg);transform-origin:right}
.book--forest{--binding:#243e33}.book--wine{--binding:#58292d}.book--navy{--binding:#263846}.book--umber{--binding:#573b25}.book--olive{--binding:#41472a}.book--plum{--binding:#412d42}
.book-category{font:400 .46rem/1.5 var(--sans);text-transform:uppercase;letter-spacing:.12em;text-align:center;max-width:100%;min-height:2.2rem;margin:.3rem 0 .65rem;color:#e0cba4}
.book-image{display:block;width:100%;aspect-ratio:1.55;overflow:hidden;border:2px solid #bba36b80;box-shadow:0 2px 6px #0009;background:#130f0b;flex-shrink:0}
.book-image img{width:100%;height:100%;object-fit:cover;object-position:top;filter:saturate(.85) sepia(.06);transition:filter .4s}
.book:hover img{filter:none}
.book-title{font:400 clamp(.98rem,1.25vw,1.28rem)/1.13 var(--serif);text-align:center;margin:1rem 0 .4rem;text-shadow:0 1px 1px #000b;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.book-flourish{margin-top:auto;font-size:1rem;line-height:1.4;color:#c4aa74}
.book-edition{font-size:.43rem;letter-spacing:.12em;text-transform:uppercase;margin:.3rem 0 .25rem;text-align:center;color:#dfc797}
.volume-caption{display:flex;align-items:center;gap:.25rem;justify-content:space-between;min-height:2.4rem;position:relative;z-index:2}
.volume-caption>a{font-size:.6rem;line-height:1.4;color:#c7b398;text-decoration:none;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.volume-caption>a:hover{color:#f6e1b9}
.bookmark{border:0;background:transparent;display:grid;place-items:center;width:30px;min-width:30px;height:44px;padding:8px;color:#ad9367;cursor:pointer}
.bookmark svg{width:13px;height:18px}.bookmark[aria-pressed=true]{color:#f2cf80}.bookmark[aria-pressed=true] path{fill:#d0a96355}
.shelf-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #82613b55;padding:1.4rem 0;margin-top:1.6rem;font-size:.7rem;color:#d5bd95}
.shelf-pagination :is(button,a){background:none;color:#d5bd95;border:1px solid #8b673a66;padding:.6rem .85rem;cursor:pointer;font-size:.65rem;min-height:44px}
.library-empty{text-align:center;padding:5rem 1rem;color:#c9b899;min-height:400px}.library-empty svg{width:3rem;margin:0 auto 1rem;color:#bd9d62}.library-empty p{font-size:.85rem}
.signature-library{padding:5.8rem 0 5rem;background:radial-gradient(ellipse at center,#4b2b223b,transparent 67%),#1b120e;border-block:1px solid #7856334d}
.signature-library header{text-align:center;margin-bottom:3.2rem}.signature-library .kicker{justify-content:center}
.signature-library h2{font-size:clamp(2.8rem,5vw,4.6rem)}.signature-library header>p:last-child{font-size:.83rem;color:#c9b194;line-height:1.8}
.signature-shelf{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3rem;padding:0;max-width:1070px;margin:0 auto;align-items:end}
.signature-shelf .volume:nth-child(3){transform:scale(1.1);z-index:2}.signature-shelf .book{height:290px}
.signature-shelf .book-category{min-height:1.6rem}.signature-shelf .volume:after{left:-1.5rem;right:-1.5rem}
.library-letter{padding:6.8rem 0 5rem;background:radial-gradient(ellipse at top,#4c382023,transparent 65%),#eee2cb;color:#332319;text-align:center;position:relative}
.library-letter:before{content:"";position:absolute;inset:1.2rem;border:1px solid #9c7d4644;pointer-events:none}
.letter-inner>.kicker{justify-content:center;color:#765d35;margin:1.5rem 0}
.letter-glyph{display:block;width:2.8rem;margin:auto;color:#8c6b38}
.library-letter h2{font-size:clamp(3.8rem,7vw,6.5rem);line-height:.98;margin:.4rem 0 1.7rem}.library-letter h2 em{font-weight:400;color:#745932}
.library-letter p:not(.kicker){font-size:.86rem;line-height:1.8;color:#644f37}.library-letter .library-enter{margin-top:1.2rem;background:#2b382b;color:#f3e0bc;border-color:#2b382b;box-shadow:inset 0 0 0 3px #2b382b,inset 0 0 0 4px #dec08a44}
.library-letter .letter-signature{font:italic 2rem var(--serif)!important;margin:2rem 0 .5rem;color:#4d3b29!important}
.letter-about{font-size:.62rem;color:#6f573d;text-decoration:none;border-bottom:1px solid #ae9776;padding-bottom:.3rem}
.floor{background:#160f0b;color:#c3ae8b;border-top:1px solid #b8996340;padding-top:4rem}.floor-name{color:#efd9b1}.floor-grid{gap:2.5rem}.floor a:hover{color:#eed4a0}.floor h2{color:#d2b584}.floor-legal{border-color:#82633a55}
.library-page-head{padding:4rem 0 3rem;background:linear-gradient(90deg,#150e09f5,#150e09e6),url('/assets/library/grand-hall-960.webp') center 48%/cover;border-bottom:1px solid #a37d4144}
.library-page-head h1{font-size:clamp(3.2rem,6vw,5.5rem);margin:.5rem 0 1.2rem;max-width:20ch}.library-page-head>div>p:last-child{color:#c6b093;font-size:.95rem;max-width:50rem;line-height:1.7}
.is-catalogue .library-stacks{padding-top:3.5rem}.is-catalogue .stacks-heading h2{font-size:2.4rem}
body:not(.is-home):not(.is-catalogue) #main{background:radial-gradient(ellipse at top right,#51352240,transparent 45%),#19120d;padding-bottom:1px}
body:not(.is-home):not(.is-catalogue) .page,body:not(.is-home):not(.is-catalogue) .work-page{padding-top:3.5rem}
.prose{line-height:1.8}.prose h2{color:#e4c794;padding-top:.7rem}.prose p{color:#d4c1a5}.card{border-radius:2px;background:#241b12;border-color:#8e6d3e55;box-shadow:inset 0 0 0 7px #21170f,inset 0 0 0 8px #aa834328}
.field input,.field textarea,.field select{background:#130e09;color:#f3e3c5;border-color:#84663e99;border-radius:2px}.form .fine,.hint{color:#c2aa86}
.ask-band{background:#23180f;border-block:1px solid #86623655}.steps{border-color:#86623655}.steps li{border-color:#86623655}
.frame{--frame-wood:linear-gradient(150deg,#785432,#352212 46%,#6c4728 100%);border:1px solid #b69b6744}.mat{background:#170f09;padding:.7rem}
.wall-label h1{font-size:clamp(2.8rem,4vw,4.5rem)}.own-words{border-color:#8c693b66}.stage-note{color:#bba583}.views{background:#21170f}.viewer{background:#1d150e;border:1px solid #a47b45;color:var(--ink)}.viewer::backdrop{background:#0b0604dd;backdrop-filter:blur(8px)}.viewer-bar,.viewer-foot{background:#23190f;border-color:#88633977}.viewer .btn{font-size:.75rem}.viewer-frame{background:#16100b}.viewer-name{font-family:var(--serif)}
.motion-paused .hall-light,.motion-paused .live-light{animation:none}.motion-paused .hall-world{transition:none!important;transform:none!important}
@media(min-width:1500px){.grand-hall{max-height:1200px}.hall-title{padding-top:15rem}.bookshelf{column-gap:2.2rem}.book{height:315px}.book-title{font-size:1.4rem}.book-category{font-size:.55rem}}
@media(max-width:1150px){.library-workspace{grid-template-columns:180px minmax(0,1fr);gap:2rem}.bookshelf{grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem 1.5rem}.book{height:270px}.hall-title h1{font-size:8rem}.signature-shelf{gap:1.8rem}.signature-shelf .book{height:260px}.library-colophon i{padding:0 .5rem}}
@media(max-width:850px){.grand-hall{min-height:730px}.hall-title h1{font-size:7.1rem}.entrance-ornament{top:22%}.hall-side{display:none}.hall-world img{object-position:50% 50%}.library-colophon>span{display:none}.library-colophon{justify-content:center;font-size:.67rem}.library-colophon>a{display:none}.library-workspace{grid-template-columns:1fr;gap:1.5rem;margin-top:1.5rem}.library-index{padding:0;border:0}.index-title,.index-note{display:none}.library-index nav{flex-direction:row;overflow-x:auto;gap:.5rem;scrollbar-width:thin;padding-bottom:.8rem}.library-index nav a{flex:none;border:1px solid #98724444;padding:.65rem .9rem;font-size:.66rem;min-height:44px;align-items:center;gap:.5rem;white-space:nowrap}.library-index nav a>span:last-child{margin-left:.25rem}.library-index .index-no{display:none}.library-index nav a[aria-current]{border-color:#d0b27488;background:#382b1855}.library-index nav a[aria-current]:before{display:none}.my-shelf{width:auto;gap:1.5rem;display:inline-flex;margin-top:.4rem;min-height:44px}.bookshelf{grid-template-columns:repeat(4,minmax(0,1fr))}.book{height:280px}.book-title{font-size:1.2rem}.stacks-heading{align-items:start}.stacks-heading>p{font-size:.72rem;max-width:16rem}.signature-shelf{grid-template-columns:repeat(3,minmax(0,1fr));max-width:620px;gap:1.5rem}.signature-shelf .volume:nth-child(3){transform:none}.signature-shelf .volume:nth-child(3){order:-1}.signature-shelf .book{height:280px}.signature-shelf .volume:after{left:-.75rem;right:-.75rem}.signature-shelf .volume:nth-child(4),.signature-shelf .volume:nth-child(5){margin-top:1rem}.library-stacks{padding:4rem 0 3rem}}
@media(max-width:600px){.grand-hall{height:100svh;min-height:720px;max-height:950px}.hall-world{inset:0 -45%}.hall-world img{object-position:50% 48%;filter:brightness(.78)}.grand-hall:before{background:linear-gradient(#0e090655,transparent 24%,#0e09064d 44%,#0e0906b0 75%,#0e0906ee),radial-gradient(ellipse at 50% 58%,#1b100555,transparent 55%)}.grand-hall:after{inset:5.7rem 1rem 1rem}.is-home .mast-row{min-height:5.3rem}.mark-name{font-size:1.3rem}.mark-sub{font-size:.45rem}.mast-row{gap:1rem}.entrance-ornament{top:22%;width:2.2rem}.hall-title{padding:10.5rem 1.5rem 5.5rem}.hall-overline{font-size:.5rem;letter-spacing:.23em;margin-bottom:1.4rem}.hall-title h1{font-size:clamp(5.1rem,20vw,7rem);line-height:.83;margin-bottom:1.3rem}.hall-title h1 span{font-size:.52em}.hall-poem{font-size:1.42rem;max-width:16rem;margin:0 auto 1rem}.hall-intro{font-size:.69rem;line-height:1.8}.hall-actions{flex-direction:column;gap:.6rem;margin-top:1.7rem}.library-enter{min-height:3.4rem;padding:.75rem 1.2rem;gap:2.5rem;font-size:.68rem}.hall-actions>a:last-child{font-size:.63rem;min-height:44px;display:flex;align-items:center}.hall-bottom{bottom:1.65rem;left:1.7rem;right:1.7rem;align-items:center;font-size:.54rem}.hall-count{font-size:1.3rem}.scroll-invitation{display:none}.ambience-control{font-size:.54rem;padding:.5rem}.library-colophon{padding:1.1rem .8rem;font-size:.55rem}.library-colophon i{padding:0 .6rem}.stacks-heading{display:block;padding-bottom:1.8rem}.stacks-heading h2{font-size:2.5rem;max-width:12ch}.stacks-heading>p{max-width:none;margin-top:1.2rem;font-size:.74rem}.stacks-heading>p br{display:none}.library-workspace{margin-top:1.2rem}.bookshelf{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.9rem;row-gap:1.8rem;padding:.2rem .5rem}.book{height:290px}.book-title{font-size:1.26rem}.book-category{font-size:.47rem}.book-cover{padding:1.3rem .85rem .8rem 1rem}.book-image{aspect-ratio:1.4}.book-edition{font-size:.44rem}.volume-caption>a{font-size:.65rem}.bookmark{width:36px;min-width:36px}.shelf-result-head{font-size:.54rem}.shelf-result-head p:last-child{display:none}.shelf-toolbar{margin-top:1.4rem;align-items:center}.collection-label{font-size:1.1rem}.shelf-toolbar label{font-size:0}.shelf-toolbar select{font-size:.62rem;padding:.4rem}.library-search{gap:.5rem;padding:0 .65rem}.library-search input{font-size:.67rem}.library-search button{padding-left:.65rem}.shelf-pagination{font-size:.63rem;gap:.5rem}.shelf-pagination :is(button,a){font-size:.6rem;padding:.6rem}.signature-library{padding:3.6rem 0}.signature-library header{margin-bottom:1.5rem}.signature-library h2{font-size:2.7rem}.signature-library header>p:last-child{font-size:.72rem}.signature-shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.9rem;padding:0 .5rem}.signature-shelf .volume:nth-child(3){grid-column:1/-1;width:55%;justify-self:center}.signature-shelf .book{height:290px}.signature-shelf .volume:nth-child(3) .book{height:315px}.library-letter{padding:4rem 0}.library-letter h2{font-size:4.2rem}.library-letter p:not(.kicker){font-size:.74rem}.floor-grid{gap:2rem}.library-page-head{padding:2.6rem 0 2rem}.library-page-head h1{font-size:3.3rem}.library-page-head>div>p:last-child{font-size:.8rem}.is-catalogue .library-stacks{padding-top:2.5rem}.is-catalogue .stacks-heading h2{font-size:2.3rem}.viewer-bar{gap:.7rem}.viewer-actions .btn{font-size:.64rem;padding:.6rem}.viewer-foot{font-size:.7rem}.viewer-foot .btn{max-width:30%;overflow:hidden}.page .card{margin-top:1rem}}
@media(max-width:370px){.book{height:265px}.book-title{font-size:1.1rem}.bookshelf{column-gap:1.4rem}.book-category{font-size:.41rem}.hall-title h1{font-size:5.2rem}.hall-title{padding-top:10rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hall-world{transform:none!important}.library-atmosphere{display:none}.book:hover,.book:focus-visible,.volume:nth-child(3n) .book:hover,.volume:nth-child(3n) .book:focus-visible{transform:none}}
@media(prefers-contrast:more){:root{--soft:#e7d3b4;--faint:#e7d3b4;--line:#cbae7a}.library-index a,.volume-caption>a,.index-note,.shelf-result-head{color:#f1daba}}
/* Final readability and intrinsic-size corrections. */
.library-index,.shelf-room{min-width:0}
.library-index nav a{font-size:.76rem}
.library-index nav a>span:last-child{font-size:.66rem}
.shelf-result-head{font-size:.65rem}
.library-search input{font-size:.8rem}
.library-search button,.shelf-toolbar label{font-size:.69rem}
.index-note{font-size:.7rem}
.volume-caption>a{font-size:.69rem}
.book-category{font-size:.51rem}
.book-edition{font-size:.49rem}
.book.is-opening,.volume:nth-child(3n) .book.is-opening{transform:translateY(-16px) rotateY(-48deg);transition:transform .22s ease}
@media(max-width:850px){.library-workspace{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.library-index nav a{font-size:.72rem}.shelf-toolbar label{font-size:0}.library-search input{font-size:.75rem}.shelf-result-head{font-size:.65rem}.book-category{font-size:.5rem}.book-edition{font-size:.48rem}}
@media(prefers-reduced-motion:reduce){.book.is-opening{transform:none!important}}
/* Wayfinding on error pages retains the same controls as the catalogue. */
.controls{margin-top:2rem}.search{display:flex;gap:1rem;align-items:end;max-width:38rem}.search .field{flex:1}.chips{display:flex;flex-wrap:wrap;gap:.65rem;list-style:none;padding:0;margin:1.8rem 0}.chips a{display:inline-flex;align-items:center;gap:.6rem;font-size:.75rem;padding:.65rem .85rem;border:1px solid #9b754759;text-decoration:none;min-height:44px}.chips .n{color:#d2b17d}
/* Keep decorative light inside the page gutter on narrow detail views. */
.frame::before{inset:-5% -3%}

html:not(.js) .bookmark,html:not(.js) .my-shelf,html:not(.js) .shelf-toolbar label,html:not(.js) .ambience-control,html:not(.js) [data-reset-library]{display:none}

.consent-panel{position:fixed;z-index:120;right:1rem;bottom:1rem;width:min(26rem,calc(100% - 2rem));padding:1.5rem;background:#211a12;border:1px solid #796041;box-shadow:0 12px 50px #0009;color:#f0e2c5}.consent-panel[hidden]{display:none}.consent-panel h2{font-size:1.8rem;margin:0 0 .5rem}.consent-panel p{font-size:.86rem;line-height:1.6;margin:0 0 .75rem}.consent-panel>div{display:flex;gap:.6rem;flex-wrap:wrap}.consent-panel button{flex:1;min-height:44px;padding:.7rem;border:1px solid #9c8056;color:#f0e2c5;background:#332719;font:500 .78rem var(--sans);cursor:pointer}.consent-panel button:disabled{opacity:.5;cursor:not-allowed}.consent-panel a{text-decoration:underline}

.library-index nav{scrollbar-color:#8b7144 transparent}.library-index nav::-webkit-scrollbar{height:4px}.library-index nav::-webkit-scrollbar-thumb{background:#8b7144;border-radius:4px}.library-index nav::-webkit-scrollbar-track{background:transparent}

/* Native navigation dissolves between the palace and its ordinary pages. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:library-page-out .24s ease both}
::view-transition-new(root){animation:library-page-in .34s ease both}
@keyframes library-page-out{to{opacity:0}}
@keyframes library-page-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}

/* Room to read: the same materials and considered spacing beyond the tour. */
.catalogue-passages{padding-block:64px 70px;border-bottom:1px solid #9c794644}
.catalogue-passages header{max-width:760px;margin-bottom:34px}
.catalogue-passages h2{font:400 clamp(30px,3.3vw,46px)/1.1 var(--serif);margin:12px 0 16px;color:#f0dfbf}
.catalogue-passages header>p:last-child{font-size:14px;line-height:1.8;color:#c6b093}
.catalogue-cabinets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 40px}
.catalogue-cabinet{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:22px;text-decoration:none;padding-bottom:27px;border-bottom:1px solid #8d713e44;min-width:0}
.catalogue-cabinet>img{width:100px;height:147px;object-fit:cover;border:4px solid #62462b;outline:1px solid #c6a15b66;box-shadow:4px 5px 15px #0005}
.catalogue-cabinet small{font-size:9px;line-height:1.7;color:#c8ac7b;text-transform:uppercase;letter-spacing:.07em;display:block}
.catalogue-cabinet strong{display:block;font:400 26px/1.1 var(--serif);color:#efdfbf;margin:9px 0}
.catalogue-cabinet span>span{font-size:11px;line-height:1.7;color:#c6b093;display:block}
.catalogue-cabinet em{display:block;font:400 10px/1.6 var(--sans);color:#dabb83;margin-top:13px}
.catalogue-cabinet:hover strong{text-decoration:underline;text-underline-offset:5px}
.catalogue-cabinet:focus-visible{outline:2px solid #dabb83;outline-offset:7px}
.is-catalogue .library-workspace{gap:4.5rem}.is-catalogue .bookshelf{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:3rem;row-gap:4.5rem;padding:10px 18px 20px}
.is-catalogue .book{height:335px}.is-catalogue .book-title{font-size:1.5rem;line-height:1.15}.is-catalogue .book-category{font-size:10px;line-height:1.7}.is-catalogue .book-edition{font-size:9px}.is-catalogue .volume-caption>a{font-size:12px;line-height:1.6}.is-catalogue .volume-caption{gap:10px}
.is-catalogue .shelf-result-head{margin-block:28px 24px;font-size:12px}.is-catalogue .shelf-toolbar{margin-top:26px;gap:24px}.is-catalogue .library-search input{font-size:15px;min-height:56px}.is-catalogue .library-search button{min-height:48px}
.is-catalogue .library-index nav a{line-height:1.65;padding-block:13px}.is-catalogue .library-stacks{padding-top:65px;padding-bottom:90px}
.volume-location{display:inline-block;font:400 12px/1.5 var(--sans);color:#dec08c;margin-bottom:28px;padding-block:10px;text-underline-offset:5px}
.work-grid{column-gap:5rem}.work-page{padding-top:65px;padding-bottom:70px}.wall-label .actions{gap:14px;margin-top:28px}.own-words{margin-block:30px;line-height:1.85}
.page .split,.ask-one .split{gap:6rem}.page{padding-block:80px}.page .lede{line-height:1.85;max-width:42ch}.page .card,.ask-one .card{padding:32px}.form .field{margin-bottom:22px}.form .field label{display:block;margin-bottom:9px;line-height:1.55}.form input,.form select{min-height:49px}.form textarea{min-height:155px;line-height:1.8}.form .ts-control{min-height:49px}.form .fine{line-height:1.8}.floor{padding-top:65px}.floor-grid{gap:3rem}
@media(max-width:1150px){.catalogue-cabinets{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.is-catalogue .library-workspace{gap:2.6rem}.is-catalogue .bookshelf{column-gap:2rem}.is-catalogue .book{height:300px}.page .split,.ask-one .split{gap:3rem}}
@media(max-width:850px){.is-catalogue .library-workspace{gap:35px}.is-catalogue .bookshelf{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:2rem}.is-catalogue .book{height:310px}.catalogue-passages{padding-block:45px 50px}.work-grid{gap:3rem}.page{padding-block:55px}}
@media(max-width:600px){
 .catalogue-cabinets{grid-template-columns:1fr;gap:25px}.catalogue-cabinet{grid-template-columns:85px 1fr;gap:21px;padding-bottom:25px}.catalogue-cabinet>img{width:85px;height:126px}.catalogue-cabinet strong{font-size:27px}.catalogue-cabinet span>span{font-size:12px}.catalogue-cabinet small{font-size:9px}.catalogue-cabinet em{font-size:11px;margin-top:10px}
 .catalogue-passages{padding-block:38px 45px}.catalogue-passages header{margin-bottom:28px}.catalogue-passages header>p:last-child{font-size:13px}.catalogue-passages h2{font-size:33px}
 .is-catalogue .bookshelf{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px;row-gap:45px;padding:6px}.is-catalogue .book{height:280px}.is-catalogue .book-title{font-size:21px}.is-catalogue .book-category{font-size:9px;letter-spacing:.04em}.is-catalogue .book-edition{font-size:8px;letter-spacing:.03em}.is-catalogue .shelf-toolbar{align-items:flex-start;gap:12px;flex-direction:column}.is-catalogue .shelf-toolbar label{font-size:12px;width:100%;justify-content:space-between}.is-catalogue .shelf-result-head{font-size:11px}.is-catalogue .library-search input{font-size:16px}.is-catalogue .library-search button{font-size:11px}.is-catalogue .library-stacks{padding-block:42px 60px}.is-catalogue .volume-caption>a{font-size:11px}.is-catalogue .book-cover{padding:19px 12px 14px}
 .page .split,.ask-one .split{gap:36px}.page .card,.ask-one .card{padding:22px 18px}.form .field{margin-bottom:23px}.form input,.form textarea{font-size:16px}.floor-grid{gap:35px}.work-page{padding-block:40px}.volume-location{margin-bottom:20px;font-size:11px}.is-catalogue .bookmark{min-width:36px}
}
@media(max-width:370px){.is-catalogue .book{height:265px}.is-catalogue .book-title{font-size:19px}.is-catalogue .bookshelf{column-gap:22px}.is-catalogue .book-category{font-size:8px}.is-catalogue .book-cover{padding-inline:9px}}
