:root{--purple:#a94261;--pink:#ac4967;--muted:#756863;--line:#ebdfd7;--serif:"Yu Gothic","Meiryo",sans-serif;color:#493e39;background:#fffaf5}html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:#fffaf5;color:#493e39;font-size:17px;line-height:1.8}.site-header{max-width:1240px;padding:24px 30px;border:0;flex-wrap:wrap;gap:22px}.logo{font-size:27px;letter-spacing:.04em}.logo-mark{display:grid;border:0;border-radius:12px;background:#f8e3e8;color:#a94261;width:46px;height:46px}.logo small{font-size:13px;color:#80736b}.site-header nav{gap:22px;font-size:16px;flex-wrap:wrap}.site-header nav a:hover{color:#a94261;text-decoration:underline;text-underline-offset:6px}.catalog-intro{text-align:center;padding:52px 24px 48px;background:radial-gradient(ellipse at 15% 15%,#ffedf0,transparent 55%),radial-gradient(ellipse at 90% 90%,#fff0d5,transparent 55%);border-block:1px solid #f0e3dc}.eyebrow{font-size:14px;letter-spacing:.15em;color:#a5536a;margin:0 0 13px}.catalog-intro h1{font-size:clamp(28px,3.4vw,43px);letter-spacing:.05em;line-height:1.6;margin:0 0 16px;font-weight:700}.catalog-intro h1 em{font-style:normal;color:#aa4262}.catalog-intro p{font-size:18px;color:#75605a;line-height:2;margin:0 0 23px}.catalog-badges{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:25px}.catalog-badges span{background:#fff9;border:1px solid #ebd9d3;border-radius:30px;padding:5px 15px;font-size:15px;color:#7a655d}.primary-link,.primary-btn{border-radius:30px;padding:13px 28px;font-size:17px;background:#a94261;color:white}.catalog-categories,.catalog-howto,.catalog-faq{max-width:1180px;margin:auto;padding:48px 24px}.catalog-heading{text-align:center;margin-bottom:27px}.catalog-heading h2{font-size:26px;margin:0 0 8px;letter-spacing:.04em}.catalog-heading p{font-size:17px;color:#756863;margin:0}.category-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.category-grid>a{background:white;border:1px solid #eddcd6;border-radius:18px;padding:22px 12px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;position:relative;transition:transform .15s,border-color .15s}.category-grid>a:hover{transform:translateY(-3px);border-color:#b85573;box-shadow:0 7px 20px #9c415210}.category-icon{width:44px;height:44px;border-radius:50%;background:#ffedf1;color:#a44765;display:grid;place-items:center;font-size:22px;margin-bottom:10px}.category-grid>a:nth-child(2n) .category-icon{background:#eaf3e9;color:#4a7657}.category-grid>a:nth-child(3n) .category-icon{background:#fff3d4;color:#8f7034}.category-grid b{font-size:17px}.category-grid small{font-size:14px;color:#7c6d67;margin-top:5px}.category-arrow{color:#b28785;margin-top:9px}.shelf{max-width:1180px;padding:40px 24px 55px}.section-title{border:0;padding:0;margin-bottom:22px;align-items:center}.section-title h2{font-size:28px;font-weight:700;margin:0}.section-title .eyebrow{margin-bottom:5px}.section-title p{font-size:17px;margin-top:8px}.search-form{max-width:none;background:#fff;padding:20px;border:1px solid #eadfd8;border-radius:18px;margin:0 0 18px;align-items:end}.search-form label{display:block;flex:1;font-size:16px}.search-form input,.search-form select{background:#fffdfb;border:1px solid #dcd0c9;border-radius:9px;padding:12px 16px;min-height:48px;font-size:17px;min-width:0}.search-form input{width:100%}.search-form select{width:100%}.search-form button{background:#a94261;border-radius:9px;min-height:48px;font-size:17px}.search-form .clear-search{background:white;color:#a94261;border:1px solid #ead5d9}.genre-list{gap:8px;margin-bottom:20px}.genre-list button{border:1px solid #e6d8d2;background:#fff;border-radius:30px;padding:9px 18px;color:#75645f;min-height:42px;font-size:16px}.genre-list button.active{background:#a94261;border-color:#a94261;color:#fff}.shelf-meta,#static-count{font-size:16px;color:#776860;margin-bottom:20px}.book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.book-card{min-width:0;overflow:hidden;background:white;border:1px solid #ebdfd8;border-radius:18px;box-shadow:0 4px 13px #70544208;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column;padding-bottom:17px}.book-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #70544215}.book-art{height:230px;background:#f4f0e9;border:0;border-radius:0;margin:0 0 17px;overflow:hidden;flex-shrink:0}.book-card .genre{font-size:14px;background:#edf3e9;color:#4e7157;border-radius:20px;align-self:start;padding:2px 10px;margin:0 16px}.book-card h3{font-size:18px;font-weight:700;line-height:1.7;margin:9px 16px 3px;overflow-wrap:anywhere}.book-card p{font-size:15px;color:#7d7068;margin:4px 16px 12px}.book-card .read-more{font-size:15px;margin: auto 16px 0;padding-top:12px;color:#a94261;border-top:1px solid #f0e6e0}.cover{width:124px;height:176px;transform:none!important;border:0;border-left:5px solid #0001;border-radius:2px 6px 6px 2px;background:var(--cover,#8c9c8f);color:var(--cover-ink,#fffdf6);box-shadow:5px 8px 14px #49382722;padding:18px 12px}.cover-title{font-size:18px;line-height:1.7}.cover small{font-size:12px}.cover:before{display:block;border:1px solid #ffffff50}.cover-kind{font-size:12px;bottom:6px;color:#8c8074;letter-spacing:0}.tone-0{--cover:#7b9486;background:#edf1ea}.tone-1{--cover:#c8b193;--cover-ink:#534637;background:#f5eee2}.tone-2{--cover:#93869c;background:#efeaf1}.tone-3{--cover:#90a8b1;--cover-ink:#243f49;background:#eaf0f2}.tone-4{--cover:#b78084;background:#f6e9e8}.tone-5{--cover:#c5b77d;--cover-ink:#4f472d;background:#f5f0df}.catalog-howto{max-width:none;background:#f8eee9;padding-inline:max(24px,calc((100% - 1132px)/2))}.catalog-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;margin:0;padding:0}.catalog-steps li{text-align:center;border:1px solid #edddd5;border-radius:20px;padding:28px 20px;background:#fffaf7}.catalog-steps li>span{display:grid;place-items:center;margin:auto;width:40px;height:40px;border-radius:50%;background:#f5e1e6;color:#a94261;font-size:17px;font-weight:bold}.catalog-steps h3{font-size:19px;margin:14px 0 8px}.catalog-steps p{font-size:16px;margin:0;color:#7d6b63;line-height:1.9}.catalog-faq{max-width:880px;padding-block:48px 65px}.catalog-faq details{border:1px solid #eaded7;background:white;border-radius:14px;margin:12px 0;padding:18px 22px}.catalog-faq summary{cursor:pointer;font-size:17px;font-weight:600}.catalog-faq details p{font-size:17px;color:#756863;line-height:2;margin-bottom:3px}.site-footer{background:#f3e9e3;color:#79675e;max-width:none;padding:36px max(24px,calc((100% - 1132px)/2));border-top:1px solid #e8d9ce}.footer-logo{color:#6a504b;font-size:25px}.footer-links{font-size:15px}.site-footer small{font-size:14px}.inner-page{max-width:1040px}.book-detail .book-art{border-radius:20px}.book-detail h1{font-size:29px}.form-panel,.note,.empty{border-radius:16px}.pagination button{border-radius:9px}.author-callout{display:none}.book-card:focus-visible,.category-grid a:focus-visible{outline:3px solid #aa4262;outline-offset:4px}
@media(max-width:1000px){.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.site-header{justify-content:center}.site-header nav{justify-content:center}.book-art{height:215px}}
@media(max-width:700px){.site-header{padding:20px 16px 15px;gap:18px}.logo{font-size:25px}.site-header nav{gap:12px 18px;font-size:15px}.site-header nav>a:first-child,.site-header nav>a:nth-child(2){display:block}.catalog-intro{padding:32px 18px}.catalog-intro h1 em{display:block}.catalog-intro p{font-size:17px}.catalog-badges{gap:6px}.catalog-badges span{font-size:13px;padding:4px 9px}.catalog-categories,.shelf{padding:32px 16px}.catalog-heading h2{font-size:25px}.catalog-heading p{font-size:16px}.category-grid{gap:8px}.category-grid>a{padding:16px 6px 11px;border-radius:14px}.category-grid b{font-size:16px}.category-grid small{font-size:13px}.category-icon{width:35px;height:35px;font-size:19px}.category-arrow{margin-top:4px}.section-title h2{font-size:26px}.search-form{padding:14px;gap:10px}.search-form input{min-width:0}.search-form>input{flex-basis:65%;width:60%}.search-form label{min-width:100%;font-size:15px}.search-form .clear-search{flex-basis:auto}.genre-list button{font-size:15px;padding:8px 12px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.book-art{height:188px;margin-bottom:12px}.cover{width:103px;height:148px;padding:14px 11px}.cover-title{font-size:16px}.cover small{font-size:12px}.cover-kind{font-size:12px}.book-card{border-radius:13px}.book-card h3{font-size:17px;margin:8px 12px 3px}.book-card p{font-size:14px;margin:4px 12px 12px}.book-card .genre{margin:0 12px;font-size:13px}.book-card .read-more{margin: auto 12px 0;font-size:13px}.catalog-steps{grid-template-columns:1fr;gap:12px}.catalog-howto{padding:32px 16px}.catalog-steps li{padding:23px}.catalog-faq{padding:32px 16px 42px}.catalog-faq details{padding:16px}.catalog-faq summary{font-size:17px}.site-footer{padding:28px 20px}.book-detail{grid-template-columns:1fr}.book-detail .book-art{max-width:100%;height:310px}.book-detail .cover{width:170px;height:245px}.book-detail .cover-title{font-size:24px}.inner-page{padding:28px 18px}.section-title>small{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
[hidden]{display:none!important}
.tone-1 .cover,.tone-3 .cover,.tone-5 .cover{background:var(--cover);color:var(--cover-ink,#fffdf6);transform:none}.cover{flex-shrink:0}
/* Compact catalogue: books are visible before the optional genre directory. */
.catalog-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;text-align:left;max-width:1180px;margin:20px auto 0;border:1px solid #eddcd5;border-radius:24px;padding:28px 32px;background:linear-gradient(115deg,#fff0f2,#fff6e6)}.catalog-intro h1{font-size:32px;margin:0 0 9px}.catalog-intro p{font-size:17px;margin:0;line-height:1.9}.catalog-intro .primary-link{flex-shrink:0}.catalog-intro .eyebrow{margin-bottom:8px}.shelf{padding-top:30px}.catalog-categories{padding:0;max-width:none;border:1px solid #e7d9d1;background:#fff;border-radius:14px;margin:0 0 21px}.catalog-categories>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;padding:14px 18px;list-style:none;font-size:17px}.catalog-categories>summary::-webkit-details-marker{display:none}.catalog-categories summary small{font-size:15px;margin-left:16px;color:#79695f}.category-toggle{font-size:23px;color:#aa4262}.catalog-categories[open] .category-toggle{transform:rotate(45deg)}.catalog-categories .category-grid{padding:0 16px 16px;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-categories .category-grid>a{display:grid;grid-template-columns:30px 1fr 16px;text-align:left;padding:12px 10px;border-radius:10px;gap:8px}.catalog-categories .category-icon{width:30px;height:30px;font-size:17px;margin:0}.catalog-categories .category-grid b{font-size:15px;overflow-wrap:anywhere}.catalog-categories .category-grid small{display:none}.category-arrow{margin:0}.search-form{align-items:end;gap:12px}.search-form .search-keyword{flex:2;min-width:180px}.search-form .search-genre{flex:1;min-width:150px}.search-form label{color:#6a5750;font-size:15px}.search-form input,.search-form select{margin-top:5px}.search-form select{max-width:100%;width:100%}.search-form button{padding:0 23px}.book-card h3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cover-title{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.cover small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-clear{font-size:15px;color:#a94261;background:transparent;border:1px solid #dec9cd;border-radius:8px;min-height:44px;padding:9px 15px}.pagination{flex-wrap:wrap}.pagination button{min-height:44px;min-width:44px}.search-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:16px;color:#76665d;margin:0 0 20px}.back-to-books{display:inline-flex;align-items:center;min-height:44px;margin-bottom:12px;color:#a94261;font-size:17px;text-decoration:underline;text-underline-offset:4px}.catalog-categories:target{outline:2px solid #c88b9c;outline-offset:3px}.book-art .cover-kind{line-height:1.4}.site-header{padding-block:20px}.section-title p{margin-block:6px 0}
@media(max-width:1000px){.catalog-intro{margin-inline:24px}.catalog-categories .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.site-header{padding:16px 16px 12px;gap:10px}.site-header nav{gap:6px 14px;font-size:14px}.site-header nav a{min-height:32px;display:inline-flex!important;align-items:center}.catalog-intro{margin:8px 16px 0;padding:20px;display:block;border-radius:18px}.catalog-intro h1{font-size:26px;line-height:1.5}.catalog-intro h1 em{display:inline}.catalog-intro p{font-size:16px}.catalog-intro .primary-link{display:none}.catalog-intro .eyebrow{font-size:12px}.shelf{padding-top:24px}.section-title{margin-bottom:14px}.section-title h2{font-size:24px}.section-title p{font-size:15px}.search-form{padding:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.search-form .search-keyword,.search-form label:first-child{grid-column:1/-1;min-width:0}.search-form .search-genre,.search-form label{min-width:0}.search-form label{width:100%;min-width:0;font-size:14px}.search-form .clear-search{grid-column:1/-1}.search-form button{padding:0 18px}.catalog-categories>summary{padding:11px 13px}.catalog-categories summary b{font-size:16px}.catalog-categories summary small{display:block;font-size:14px;margin:0}.catalog-categories .category-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 10px 10px;gap:6px}.catalog-categories .category-grid>a{grid-template-columns:26px 1fr;gap:6px;padding:10px 7px}.catalog-categories .category-arrow{display:none}.catalog-categories .category-grid b{font-size:14px}.catalog-categories .category-icon{width:26px;height:26px;font-size:15px}.search-summary{font-size:15px}.catalog-howto,.catalog-faq{padding-top:32px}.catalog-heading h2{font-size:24px}.book-card .read-more{font-size:14px}.catalog-clear{font-size:14px;padding:7px 10px}}

/* Author names are shown as 「名前さん」: the name is prominent, さん slightly smaller. */
.book-card p{font-size:16px;font-weight:600}.book-detail .author{font-size:20px;font-weight:600}.author-profile h3{font-size:22px}.author-san{font-size:.8em;font-weight:normal;margin-left:.1em}
@media(max-width:600px){.book-card p{font-size:15px}.book-detail .author{font-size:18px}}
.book-detail .author,.book-detail .author a{color:#5f5157}.author-san{font-size:.85em}.cover small .author-san{font-size:1em}
/* Cover art keeps its original title size so long titles are not cut off. */
.cover-title{font-size:16px}.book-detail .cover-title{font-size:22px}
@media(max-width:600px){.cover-title{font-size:13px}.book-detail .cover-title{font-size:22px}}
.cover small{font-size:11px}.cover-kind{font-size:10px}
.logo-mark{flex-shrink:0}
