/* Kindle shelves — shared with the original warm paper / ink palette. */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.site-nav{gap:26px}
.site-header.scrolled{background:rgba(251,250,246,.97)}
.catalog-home{background:var(--paper-2);scroll-margin-top:80px}
.catalog-home .books-head{margin-bottom:28px}
.catalog-all-link,.shelf-end a{font-size:.82rem;border-bottom:1px solid var(--ink);padding-bottom:6px}
.catalog-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;color:var(--ink-2);font-size:.94rem}
.kindle-badge{flex-shrink:0;border:1px solid #647063;color:#364e40;padding:7px 16px;font-size:.75rem;letter-spacing:.12em}
.affiliate-note{font-size:.69rem;color:#655f54;line-height:1.85;margin:26px 0;max-width:85em}
.shelf-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:62px 0 10px;padding-top:30px;border-top:1px solid var(--line-strong)}
.shelf-number{font-size:.66rem;letter-spacing:.22em;color:#5d675c}
.shelf-heading h3{font:600 clamp(1.5rem,3vw,2rem)/1.7 var(--mincho);margin-top:6px}
.shelf-heading p{font-size:.8rem;color:#655f54;margin-top:6px}
.shelf-shuffle,.catalog-reset,.catalog-empty button{font:400 .75rem/1.6 var(--sans);color:var(--ink);background:transparent;border:1px solid var(--line-strong);padding:12px 16px;cursor:pointer}
.shelf-shuffle:hover,.catalog-reset:hover,.catalog-empty button:hover{background:#e8e4d9;border-color:var(--ink)}
.shelf-status{color:#655f54;font-size:.72rem;margin:0 0 26px}
.catalog-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:42px 25px}
.catalog-card{min-width:0;display:flex;flex-direction:column;align-items:stretch}
.catalog-cover{display:flex;align-items:center;justify-content:center;aspect-ratio:2/3;background:#e9e5db;overflow:hidden;box-shadow:5px 7px 14px -9px #332c23;transition:transform .25s,box-shadow .25s}
.catalog-cover:hover{transform:translateY(-4px);box-shadow:8px 12px 20px -9px #332c23}
.catalog-cover img{width:100%;height:100%;object-fit:contain}
.catalog-cover.cover-unavailable::after{content:'書影はAmazonでご覧いただけます';padding:20px;font-size:.8rem;text-align:center;color:#655f54}
.catalog-cover.cover-unavailable img{display:none}
.catalog-tags{display:flex;flex-wrap:wrap;gap:5px 8px;font-size:.61rem;line-height:1.6;color:#5c665a;margin:16px 0 9px;letter-spacing:0}
.catalog-tags span+span{color:#655f54;border-left:1px solid var(--line-strong);padding-left:8px}
.catalog-title{font:600 .94rem/1.65 var(--mincho);overflow-wrap:anywhere;letter-spacing:.01em}
.catalog-title a:hover{text-decoration:underline;text-underline-offset:4px}
.catalog-description{font-size:.72rem;line-height:1.8;color:#655f54;margin:10px 0 16px;overflow-wrap:anywhere;letter-spacing:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.catalog-buy{display:flex;justify-content:space-between;align-items:center;gap:4px;border-top:1px solid var(--line-strong);padding:10px 0 0;margin-top:auto;font-size:.7rem;font-weight:500;color:#364e40}
.catalog-buy:hover{text-decoration:underline;text-underline-offset:4px}
.catalog-buy>span[aria-hidden]{font-size:1rem}
.shelf-end{text-align:right;margin:36px 0 10px}
.catalog-footnote{font-size:.72rem;color:#655f54;margin-top:38px;line-height:1.9}
.catalog-footnote a{text-decoration:underline}
.catalog-hero{padding-bottom:45px;background:var(--paper-2)}
.catalog-hero .page-title{font-size:1.1rem;margin:24px 0;color:#655f54}
.catalog-hero-lead{font:600 clamp(2rem,5vw,3.4rem)/1.6 var(--mincho);letter-spacing:.05em}
.catalog-author{font:600 1rem/1.8 var(--mincho);margin-top:30px}
.catalog-author span{font:400 .6rem/1.8 var(--sans);letter-spacing:.16em;margin-left:15px;color:#655f54}
.catalog-hero-copy{font-size:.88rem;line-height:2;margin-top:15px;color:var(--ink-2)}
.catalog-totals{display:flex;flex-wrap:wrap;gap:18px 42px;margin-top:32px;border-top:1px solid var(--line-strong);padding-top:22px;font-size:.73rem;color:#655f54}
.catalog-totals strong{font:500 1.7rem/1.4 var(--mincho);color:var(--ink);margin-right:8px}
.catalog-library{padding:20px 0 100px}
.catalog-controls{display:grid;grid-template-columns:2fr 1fr 1.3fr auto;align-items:end;gap:16px;background:var(--paper-2);padding:24px;margin:28px 0}
.catalog-controls label{display:block;font-size:.71rem;color:#655f54;margin-bottom:8px}
.catalog-controls input,.catalog-controls select{font:400 .83rem/1.5 var(--sans);color:var(--ink);width:100%;min-width:0;border:1px solid var(--line-strong);border-radius:0;background:var(--paper);padding:12px;height:46px}
.catalog-reset{height:46px;white-space:nowrap}
.catalog-results-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:28px 0;font-size:.8rem}
.catalog-results-head>span{font-size:.67rem;color:#655f54}
.catalog-empty{padding:60px 20px;text-align:center;background:var(--paper-2);font-size:.9rem}
.catalog-empty button{margin-top:22px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #3c6752;outline-offset:5px}
@media(max-width:1100px){.site-nav{gap:18px}.site-nav a{font-size:.72rem;letter-spacing:.05em}}
@media(max-width:960px){.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 20px}.catalog-controls{grid-template-columns:1fr 1fr}.catalog-search{grid-column:1/-1}.catalog-reset{grid-column:1/-1;justify-self:start}}
@media(max-width:768px){.site-nav{gap:28px}.site-nav a{font-size:1.1rem}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-intro{align-items:flex-start;flex-direction:column}.catalog-hero{padding-top:140px}.catalog-results-head{align-items:flex-start;flex-direction:column;gap:3px}}
@media(max-width:560px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 17px}.catalog-title{font-size:.9rem}.catalog-description{font-size:.7rem}.shelf-heading{align-items:flex-start;flex-direction:column;margin-top:45px}.shelf-shuffle{padding:10px 14px}.catalog-controls{padding:16px;gap:12px}.catalog-totals{gap:20px}.catalog-totals strong{font-size:1.4rem}.catalog-hero-copy br{display:none}.catalog-home .section-title{font-size:1.7rem}.catalog-all-link{font-size:.76rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.catalog-cover{transition:none}.catalog-cover:hover{transform:none}}
