/* Books page: a warm, editorial library. Loaded only by /books/. */
.books-page{--books-paper:#f6f0e4;--books-ink:#2d2821;--books-red:#a33b2f;--books-rule:#cfc1ad;background:linear-gradient(90deg,rgba(103,70,39,.035) 1px,transparent 1px),var(--books-paper);background-size:32px 100%;color:var(--books-ink)}
.books-page .guide-hero{position:relative;padding-block:clamp(52px,8vw,112px);border-bottom:1px solid var(--books-rule)}
.books-page .guide-hero::before{content:"AUTHOR'S LIBRARY";position:absolute;top:26px;right:0;color:rgba(73,52,32,.14);font:600 clamp(20px,4vw,56px)/1 "Shippori Mincho B1",serif;letter-spacing:.08em;pointer-events:none}
.books-page .guide-hero figure{padding:clamp(10px,2vw,22px);background:#e5d9c6;box-shadow:12px 14px 0 rgba(92,62,34,.1);transform:rotate(1deg)}
.books-page .guide-section{border-color:var(--books-rule)}
.books-page .book-feature{grid-template-columns:minmax(190px,28%) 1fr;gap:clamp(28px,6vw,88px);padding:clamp(38px,6vw,78px) clamp(18px,5vw,70px);margin-block:28px;background:rgba(255,253,247,.72);border:1px solid var(--books-rule);box-shadow:0 18px 45px rgba(74,51,29,.08)}
.books-page .book-feature:nth-of-type(even){background:#eee3d1}
.books-page .book-feature figure{align-self:center;text-align:center}
.books-page .book-feature figure:has(img[hidden]){display:grid;place-items:center;min-height:260px;background:#e5d9c6}
.books-page .book-feature figure:has(img[hidden])::after{content:"書影を読み込めませんでした";padding:20px;font:500 12px/1.8 var(--serif);color:#6e6255}
.books-page .book-feature img{width:min(100%,230px);height:auto;filter:drop-shadow(8px 12px 12px rgba(39,27,18,.2))}
.books-page .book-feature h3{font-size:clamp(30px,4vw,52px);line-height:1.25}
.books-page .source-line{font-size:12px;color:#6e6255}
.books-shelf{padding-block:clamp(64px,9vw,124px)!important}
.shelf-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:40px;align-items:end;margin-bottom:42px}
.shelf-intro h2{margin:.2em 0 0;font-size:clamp(28px,3.3vw,46px);line-height:1.6}
.shelf-intro h2 em{color:var(--books-red);font-style:normal}
.shelf-intro h2 span{display:inline-block;white-space:nowrap}
.shelf-intro>p{max-width:38em;margin:0 0 8px;padding-left:24px;border-left:3px solid var(--books-red);line-height:1.9}
.books-shelf .tiles{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:clamp(18px,2.2vw,34px) clamp(10px,1.25vw,18px);align-items:start}
.books-shelf .tile{display:flex;min-width:0;min-height:44px;flex-direction:column;color:inherit;text-decoration:none;border-radius:2px;outline-offset:5px}
.books-shelf .cv{position:relative;display:flex;aspect-ratio:2/3;align-items:center;justify-content:center;overflow:hidden;background:#ded0ba;border:1px solid rgba(72,51,32,.18);box-shadow:4px 7px 12px rgba(59,42,25,.16);transition:transform .2s ease,box-shadow .2s ease}
.books-shelf .cv::before{content:none}
.books-shelf .cv::after{content:attr(data-t);display:block;padding:12px;color:#4c3e30;font:600 clamp(10px,1vw,13px)/1.55 "Shippori Mincho B1",serif;text-align:center;overflow-wrap:anywhere}
.books-shelf .cv img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#ded0ba}
.books-shelf .tile__cap{position:static;inset:auto;display:block;padding:11px 0 0;opacity:1;visibility:visible;transform:none;background:none;color:inherit;box-shadow:none;pointer-events:auto}
.books-shelf .tile__cap b{display:block;font-family:"Shippori Mincho B1",serif;font-size:clamp(12px,1vw,15px);line-height:1.55;overflow-wrap:anywhere}
.books-shelf .tile__cap>span{display:block;margin-top:5px;color:#75695c;font-size:10px;line-height:1.55}
.books-shelf .tile:hover .cv{transform:translateY(-5px) rotate(-.5deg);box-shadow:7px 12px 18px rgba(59,42,25,.22)}
.books-shelf .tile:focus-visible{outline:3px solid var(--books-red)}
.books-shelf .tile:focus-visible .cv{transform:translateY(-4px);box-shadow:0 0 0 4px var(--books-paper),0 0 0 7px var(--books-red)}
.shelf-note{margin-top:34px;padding-top:16px;border-top:1px solid var(--books-rule);color:#6e6255;font-size:12px;line-height:1.8}
@media(max-width:1024px){.books-shelf .tiles{grid-template-columns:repeat(6,minmax(0,1fr))}.books-page .book-feature{grid-template-columns:minmax(150px,25%) 1fr}}
@media(max-width:700px){.books-page .guide-hero::before{font-size:20px}.books-page .guide-actions{align-items:flex-start}.books-page .book-feature{grid-template-columns:1fr;padding:28px 18px}.books-page .book-feature figure{text-align:left}.books-page .book-feature img{width:min(52vw,190px)}.shelf-intro{grid-template-columns:1fr;gap:22px}.shelf-intro>p{padding-left:16px}.books-shelf .tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 8px}.books-shelf .tile__cap b{font-size:11px;line-height:1.45}.books-shelf .tile__cap>span{font-size:9px}.books-shelf .cv::after{padding:7px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.books-shelf .cv{transition:none}.books-shelf .tile:hover .cv,.books-shelf .tile:focus-visible .cv{transform:none}}
@media print{.books-page{background:#fff;color:#000}.books-page .site-header,.books-page .site-footer,.books-page .guide-actions,.books-page .guide-cta{display:none!important}.books-page .guide{max-width:none}.books-page .guide-hero,.books-page .guide-section,.books-shelf{padding:24px 0!important}.books-page .guide-hero::before{display:none}.books-page .book-feature{break-inside:avoid;box-shadow:none;background:#fff}.books-shelf .tiles{grid-template-columns:repeat(8,minmax(0,1fr));gap:14px 8px}.books-shelf .tile{break-inside:avoid}.books-shelf .cv{box-shadow:none}.books-shelf .tile__cap b{font-size:9pt}.books-shelf .tile__cap>span{font-size:7pt}}
