/* A shared printed-book system: live type, a quiet binding and optional art. */
.book-jacket{--jacket-surface:#ece4d7;--jacket-text:#342b27;--jacket-detail:#6b5745;--jacket-edge:#c8bda9;position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;align-content:start;gap:11px;inline-size:calc(100% - 6px);min-inline-size:0;min-block-size:17rem;margin-inline-end:6px;padding:18px 14px 18px 20px;aspect-ratio:2/3;border:1px solid #33241d24;border-radius:2px 5px 5px 2px;background:var(--jacket-surface);color:var(--jacket-text);font-family:var(--serif,"Noto Serif CJK JP","Yu Mincho",Georgia,serif);box-shadow:1px 2px 4px #39241613,5px 7px 10px -7px #39241658;transition:transform .18s ease,box-shadow .18s ease;}
/* An auto grid column can expand from the art panel's aspect ratio when its
   row stretches. Constrain the track and its items to the jacket, not the art. */
.book-jacket>span{min-inline-size:0;max-inline-size:100%;}
.book-jacket::before{content:"";position:absolute;inset:0 auto 0 0;inline-size:15px;border-inline-end:1px solid #0000000b;border-radius:2px 0 0 2px;background:linear-gradient(90deg,#00000018,transparent 40%,#ffffff19 65%,#00000008 85%,transparent);pointer-events:none;}
.book-jacket::after{content:"";position:absolute;z-index:-1;inset:3px -5px 3px auto;inline-size:5px;border:1px solid #bcb09d;border-inline-start:0;border-radius:0 3px 3px 0;background:repeating-linear-gradient(0deg,#f4efe5 0 2px,#e0d7c7 2px 3px);pointer-events:none;}
.book-jacket-publisher{display:block;font:500 11px/1.6 var(--sans,system-ui,sans-serif);letter-spacing:.1em;color:var(--jacket-detail);overflow-wrap:anywhere;}
.book-jacket-title{display:block;margin:0;color:var(--jacket-text);font-size:clamp(1.2rem,1.55vw,1.55rem);font-weight:500;line-height:1.5;letter-spacing:.025em;white-space:pre-line;word-break:normal;overflow-wrap:anywhere;}
.book-jacket-subtitle{display:block;align-self:end;margin-top:auto;padding-top:10px;border-top:1px solid var(--jacket-detail);color:var(--jacket-detail);font:400 11px/1.6 var(--serif,"Yu Mincho",serif);word-break:normal;overflow-wrap:anywhere;}
.jacket-tone-wine{--jacket-surface:#62262f;--jacket-text:#fff4dc;--jacket-detail:#ead4ac;--jacket-edge:#4d1c25;}
.jacket-tone-ink{--jacket-surface:#25343d;--jacket-text:#f5eddd;--jacket-detail:#d6c5a5;--jacket-edge:#17262e;}
.jacket-tone-paper{--jacket-surface:#eee8db;--jacket-text:#282b27;--jacket-detail:#57583e;--jacket-edge:#c9c2b2;}
.jacket-tone-sand{--jacket-surface:#dac6b3;--jacket-text:#402d29;--jacket-detail:#5c4037;--jacket-edge:#bca18a;}
.jacket-tone-olive{--jacket-surface:#465244;--jacket-text:#f8f0dc;--jacket-detail:#e1d6b7;--jacket-edge:#343e32;}
.jacket-tone-umber{--jacket-surface:#745046;--jacket-text:#fff1dd;--jacket-detail:#f0d8b8;--jacket-edge:#53382f;}
.jacket-has-art{grid-template-rows:auto auto minmax(76px,1fr) auto;}
.book-jacket-art{display:block;position:relative;align-self:stretch;inline-size:100%;max-inline-size:100%;min-inline-size:0;min-block-size:76px;aspect-ratio:1.5;overflow:hidden;background:#332820;}
.book-jacket-art img{display:block;inline-size:100%;max-inline-size:100%;block-size:100%;min-block-size:76px;object-fit:cover;}
.book-jacket-art-note{display:block;position:absolute;inset:auto 0 0 auto;max-inline-size:100%;padding:3px 6px;background:#f8f3e8;color:#4c3c30;font:400 11px/1.5 var(--sans,system-ui,sans-serif);overflow-wrap:anywhere;}
.book-jacket[data-jacket-language="en"] .book-jacket-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.15rem,1.45vw,1.45rem);letter-spacing:-.015em;line-height:1.4;hyphens:auto;}
.book-jacket[data-jacket-language="en"] .book-jacket-subtitle{font-family:Georgia,"Times New Roman",serif;line-height:1.55;}
.jacket-size-compact{gap:12px;min-block-size:8.5rem;aspect-ratio:2/3;padding:15px 12px 16px 17px;box-shadow:3px 5px 5px -4px #39241658;}
.jacket-size-compact::before{inline-size:10px;}
.jacket-size-compact .book-jacket-title,.jacket-size-compact[data-jacket-language="en"] .book-jacket-title{font-size:clamp(.8rem,1.15vw,1.1rem);line-height:1.55;}
.jacket-size-compact .book-jacket-publisher{font-size:11px;letter-spacing:0;}
.jacket-size-compact .book-jacket-subtitle{display:none;}
.jacket-size-opening,.jacket-size-feature{min-block-size:25rem;max-inline-size:24rem;padding:26px 25px 26px 32px;gap:23px;}
.jacket-size-opening .book-jacket-title,.jacket-size-feature .book-jacket-title{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.5;}
.jacket-size-opening[data-jacket-language="en"] .book-jacket-title,.jacket-size-feature[data-jacket-language="en"] .book-jacket-title{font-size:clamp(1.7rem,2.6vw,2.6rem);}
.jacket-size-opening .book-jacket-subtitle,.jacket-size-feature .book-jacket-subtitle{font-size:14px;}
@media(hover:hover) and (pointer:fine){a:hover>.book-jacket{transform:translateY(-4px);box-shadow:2px 3px 5px #39241613,7px 13px 13px -9px #39241666;}}

/* Catalogue thumbnails keep the full heading in its normal, selectable link. */
.catalogue-book-marker{display:block;}
.catalogue-book-marker>.book-jacket{font-weight:400;}
.catalogue-book-marker>.catalogue-book-number{display:block;margin-top:12px;color:#716052;font:400 12px/1.6 var(--sans,system-ui,sans-serif);letter-spacing:.13em;}

/* The saved library uses the same jackets as the curated home, not a second
   glyph-card design. Empty shelves and paginated record loading are unchanged. */
.home-bookshelf{background:#f7f3eb;border-color:#d5c6b5;}
.home-bookshelf .bookshelf-heading{border-color:#d5c6b5;}
.home-bookshelf .bookshelf-heading h2,.favorite-library .catalogue-heading h1{color:#302621;font-weight:500;}
.home-bookshelf .bookshelf-heading>a{color:#6a2732;}
.home-bookshelf>[data-shelf-status]{color:#6b5c50;}
.favorite-library .catalogue-heading{border-bottom:1px solid #cbbcaa;padding-block:12px 28px;}
.favorite-library .library-heading-mark{width:72px;height:96px;flex:0 0 72px;border:1px solid #b79b79;border-left:7px solid #692b34;border-radius:2px 4px 4px 2px;background:#e9deca;color:#652c34;box-shadow:4px 4px 0 #f1e9da;font-weight:500;}
html[lang="en"] .favorite-library .library-heading-mark{font:500 16px/1.3 Georgia,"Times New Roman",serif;letter-spacing:0;text-align:center;}
.favorite-library .storage-notice{background:#efe8dc;border-color:#c9b8a4;color:#594b40;}
.home-bookshelf .shelf-empty,.favorite-library .shelf-empty{border:1px solid #d6c8b5;border-bottom:1px solid #c0a783;border-radius:0;box-shadow:none;background:#f2ecdf;color:#514339;}
.home-bookshelf .shelf-empty :is(h2,h3),.favorite-library .shelf-empty :is(h2,h3){color:#3d2d28;font-weight:500;}
.home-bookshelf .shelf-empty a,.favorite-library .shelf-empty a{color:#6a2732;}
.home-bookshelf .empty-book,.favorite-library .empty-book{border-color:#b5a18a;border-left-color:#79504c;border-radius:1px 3px 3px 1px;background:#f8f2e6;color:#79504c;font-weight:400;}
.library-book-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:36px 26px;align-items:start;}
.library-book-grid>.library-book{min-inline-size:0;padding:0;border:0;box-shadow:none;}
.library-book .library-book-cover,.home-bookshelf .library-book .library-book-cover{display:block;flex:initial;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#2d2522;text-decoration:none;}
.library-book .library-book-cover h3{margin:17px 0 9px;font:500 17px/1.7 var(--serif,"Yu Mincho",serif);color:#2d2522;word-break:normal;overflow-wrap:anywhere;}
.library-book .library-book-cover .book-open{display:block;margin:0;color:#6a2732;font:500 12px/1.7 var(--sans,system-ui,sans-serif);}
.library-book .book-reading-meta{display:block;margin-top:9px;color:#68594e;font:400 12px/1.6 var(--sans,system-ui,sans-serif);}
.library-book .book-endpaper{margin-top:11px;padding-top:10px;border-top:1px solid #ccbdab;gap:4px 8px;}
.library-book .book-endpaper>a,.library-book .book-endpaper .save-button{font-size:12px;color:#67313a;}
.library-book .book-endpaper .save-button[aria-pressed=true]{color:#fff7e9;}
.home-bookshelf .library-book-grid{grid-template-columns:repeat(6,minmax(0,1fr));}
.home-bookshelf .library-book .book-jacket{min-block-size:16rem;padding-inline:20px 15px;}
.home-bookshelf .library-book .book-jacket-title{font-size:clamp(1.15rem,1.6vw,1.55rem);}
@media(max-width:1150px){.home-bookshelf .library-book-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:640px){
 .library-book-grid,.home-bookshelf .library-book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px;}
 .book-jacket{gap:14px;min-block-size:15rem;padding:17px 12px 18px 18px;}
 .book-jacket-title{font-size:1.2rem;line-height:1.6;}
 .book-jacket[data-jacket-language="en"] .book-jacket-title{font-size:1.15rem;}
 .book-jacket-subtitle{font-size:11px;}
 .home-bookshelf .library-book .book-jacket{padding:17px 12px 18px 18px;}
 .library-book .library-book-cover h3{font-size:16px;}
 .jacket-size-compact{gap:8px;min-block-size:7rem;padding:12px 9px 12px 13px;}
 .jacket-size-compact .book-jacket-publisher{display:none;}
 .jacket-size-compact .book-jacket-title,.jacket-size-compact[data-jacket-language="en"] .book-jacket-title{font-size:12px;line-height:1.6;}
 .jacket-size-opening,.jacket-size-feature{min-block-size:21rem;padding:23px 22px 24px 28px;gap:19px;}
 .jacket-size-opening .book-jacket-title,.jacket-size-feature .book-jacket-title{font-size:1.9rem;}
 .jacket-size-opening[data-jacket-language="en"] .book-jacket-title,.jacket-size-feature[data-jacket-language="en"] .book-jacket-title{font-size:1.8rem;}
}
@media(max-width:390px){
 .library-book-grid,.home-bookshelf .library-book-grid{grid-template-columns:minmax(0,1fr);}
 .library-book .book-jacket{max-inline-size:19rem;}
 .library-book .library-book-cover h3{font-size:18px;}
}
@media(prefers-reduced-motion:reduce){.book-jacket{transition:none;}a:hover>.book-jacket{transform:none;}}
@media(forced-colors:active){.book-jacket{background:Canvas;color:CanvasText;border:1px solid CanvasText;box-shadow:none;}.book-jacket::before,.book-jacket::after{display:none;}.book-jacket :is(.book-jacket-publisher,.book-jacket-title,.book-jacket-subtitle){color:CanvasText;}.book-jacket-art-note{background:Canvas;color:CanvasText;}.library-book .book-endpaper{border-color:CanvasText;}}

/* A visible editorial type stays outside decorative, aria-hidden jackets. */
.editorial-kind-label{display:inline-block;margin-inline:.45em;padding:.15em .5em;border:1px solid currentColor;border-radius:2px;color:var(--accent,#752c3d);font:600 .75rem/1.5 var(--sans,sans-serif);letter-spacing:.02em;vertical-align:middle;white-space:normal}
.library-book-cover>.editorial-kind-label{margin:10px 0 0}
@media(forced-colors:active){.editorial-kind-label{border-color:CanvasText;color:CanvasText}}
