/* yabu-archive 1.4.4: Bibliography visuals. */
.ybib-shelf { list-style: none; margin: 1.5rem 0 2.5rem; padding: 1.75rem 1rem 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.25rem; align-items: end; background: linear-gradient(180deg, transparent 0, transparent calc(100% - 14px), #6e5320 calc(100% - 14px), #8a6d3b calc(100% - 6px), #4a3816 100%); padding-bottom: 14px; }
.ybib-shelf__book { position: relative; outline: none; }
.ybib-shelf__covers { position: relative; aspect-ratio: 2 / 3; }
.ybib-shelf__covers img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: #f3ede1; box-shadow: 6px 8px 14px -6px rgba(0,0,0,.5), inset 4px 0 0 rgba(0,0,0,.12); transition: transform .45s cubic-bezier(.2,.7,.2,1); }
.ybib-shelf__covers.is-pair img:first-child { transform: translate(-3%, -2%) rotate(-2deg); }
.ybib-shelf__covers.is-pair img:last-child { transform: translate(4%, 2%) rotate(2deg); }
.ybib-shelf__book:hover .ybib-shelf__covers img, .ybib-shelf__book:focus-within .ybib-shelf__covers img { transform: translateY(-8px) rotate(-1deg); }
.ybib-shelf__book:hover .ybib-shelf__covers.is-pair img:last-child, .ybib-shelf__book:focus-within .ybib-shelf__covers.is-pair img:last-child { transform: translate(8%, -6px) rotate(3deg); }
.ybib-shelf__info { position: absolute; left: 50%; bottom: calc(100% + .6rem); transform: translate(-50%, 6px); width: 15rem; max-width: 80vw; z-index: 5; padding: .8rem .9rem; background: #121212; color: #FAF7F0; border-top: 2px solid #C5A059; font-size: .85rem; line-height: 1.35; opacity: 0; pointer-events: none; transition: opacity .25s, transform .25s; display: flex; flex-direction: column; gap: .2rem; }
.ybib-shelf__book:hover .ybib-shelf__info, .ybib-shelf__book:focus-within .ybib-shelf__info { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.ybib-shelf__year { font-family: Inter, system-ui, sans-serif; font-size: .7rem; letter-spacing: .12em; color: #D4AF37; }
.ybib-shelf__label { font-family: "Cormorant Garamond", Garamond, serif; font-size: 1.1rem; font-weight: 600; }
.ybib-shelf__title { font-style: italic; }
.ybib-shelf__pub { opacity: .8; }
.ybib-shelf__credit, .ybib-shelf__credit a { font-size: .68rem; color: #c9bfae; }
@media (max-width: 760px) {
	.ybib-shelf { grid-template-columns: repeat(3, minmax(0, 1fr)); background: none; padding: 0; gap: 1.5rem 1rem; }
	.ybib-shelf__info { position: static; transform: none; opacity: 1; width: auto; max-width: none; background: none; color: inherit; border: 0; padding: .6rem 0 0; pointer-events: auto; }
	.ybib-shelf__book:hover .ybib-shelf__info { transform: none; }
	.ybib-shelf__title, .ybib-shelf__pub { display: none; }
	.ybib-shelf__label { font-size: .95rem; }
	.ybib-shelf__credit, .ybib-shelf__credit a { color: #6b625a; }
}
.ybib-people { list-style: none; margin: 1.25rem 0 2.5rem; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr)); gap: 1rem; }
.ybib-person { display: grid; grid-template-columns: 4.5rem 1fr; gap: .9rem; padding: 1rem; background: #FAF7F0; border: 1px solid rgba(197,160,89,.45); }
.ybib-person__photo { margin: 0; }
.ybib-person__photo img { width: 4.5rem; height: 5.6rem; object-fit: cover; object-position: top; display: block; filter: sepia(.15); }
.ybib-person__photo figcaption { font-size: .6rem; line-height: 1.2; margin-top: .3rem; }
.ybib-person__mono { width: 4.5rem; height: 4.5rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: "Cormorant Garamond", Garamond, serif; font-size: 1.6rem; font-weight: 500; letter-spacing: .04em; color: #8a6d3b; background: #F3EDE1; border: 1px solid #C5A059; box-shadow: inset 0 0 0 3px #FAF7F0, inset 0 0 0 4px rgba(197,160,89,.5); }
.ybib-person__body p { margin: 0 0 .25rem; }
.ybib-person__name { font-family: "Cormorant Garamond", Garamond, serif; font-size: 1.15rem; font-weight: 600; line-height: 1.15; }
.ybib-person__name [lang="ja"] { font-family: "Shippori Mincho", serif; font-size: .9rem; font-weight: 400; color: #6b625a; }
.ybib-person__dates, .ybib-person__works { font-family: Inter, system-ui, sans-serif; font-size: .72rem; color: #6b625a; letter-spacing: .03em; }
.ybib-person__bio { font-size: .92rem; line-height: 1.4; }
.ybib-person__src, .ybib-person__src a { font-size: .68rem; color: #6b625a; }
.ybib-person__subject { margin: .5rem 0 0; display: flex; gap: .5rem; align-items: center; }
.ybib-person__subject img { width: 2.6rem; height: 3.2rem; object-fit: cover; }
.ybib-person__subject figcaption { font-size: .62rem; line-height: 1.25; }
.yabu-bib--covers { list-style-position: outside; }
.yabu-bib__item--cover { display: grid; grid-template-columns: 4.25rem 1fr; gap: 1rem; align-items: start; padding: .75rem 0; border-bottom: 1px solid rgba(197,160,89,.3); }
.yabu-bib__cover { margin: 0; }
.yabu-bib__cover img { width: 4.25rem; height: auto; max-height: 6.2rem; object-fit: cover; display: block; box-shadow: 3px 4px 8px -4px rgba(0,0,0,.45); transition: transform .3s; }
.yabu-bib__item--cover:hover .yabu-bib__cover img { transform: translateY(-2px) rotate(-1deg); }
.yabu-bib__cover figcaption, .yabu-bib__cover figcaption a { font-size: .58rem; line-height: 1.2; margin-top: .25rem; color: #6b625a; display: block; }
.yabu-bib__cover--empty { width: 4.25rem; aspect-ratio: 2 / 3; border: 1px dashed rgba(197,160,89,.6); }
@media (max-width: 760px) { .yabu-bib__item--cover { grid-template-columns: 3.4rem 1fr; gap: .75rem; } .yabu-bib__cover img { width: 3.4rem; } }
.yabu-bib.yabu-bib--covers { list-style: none; padding-left: 0; counter-reset: ybib; }
.yabu-bib--covers .yabu-bib__text::before { counter-increment: ybib; content: counter(ybib) ". "; font-family: Inter, system-ui, sans-serif; font-size: .8rem; color: #8a6d3b; }
