/* PANEL DENSITY v26 — two verified category groups, eleven real stories.
   The catalogue starts full width. A detail column exists only after selection.
   Shared canvas stays below native controls; only a successfully enhanced,
   explicitly active book can hide its static cover. */
@font-face{font-family:Yoru;src:url('assets/font-thai.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Yoru;src:url('assets/font-thai-bold.ttf') format('truetype');font-weight:600 900;font-display:swap}
:root{color-scheme:light;--paper:#f6f5ef;--white:#fffefa;--ink:#161614;--muted:#585856;--line:#b2b2b0;--accent:#b73325;--shelf-columns:2;--max:1520px}
*{box-sizing:border-box}html{scrollbar-gutter:stable;scroll-padding-top:16px}body{margin:0;background:var(--paper);color:var(--ink);font:400 14px/1.6 Yoru,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer;color:inherit}button,input{border:0}button,a,input,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.5;cursor:default}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}::selection{background:#161614;color:#fffefa}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;left:14px;top:-80px;z-index:100;padding:12px 17px;min-height:44px;background:#161614;color:#fffefa;font-size:13px}.skip-link:focus{top:12px}

/* Compact identity, not a cropped hero: the inventory gets the screen area. */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;max-width:var(--max);min-height:60px;margin:0 auto;padding:7px 24px;border-bottom:1px solid #b9b9b3}
.masthead{display:flex;align-items:center;gap:9px;min-height:44px;margin:0;color:#11110f;font-family:Impact,'Arial Narrow',Yoru,system-ui,sans-serif;font-size:42px;font-weight:900;line-height:1;letter-spacing:-2.5px;white-space:nowrap;text-transform:uppercase}.masthead span{font-weight:900;letter-spacing:-2.9px}.masthead-caption{display:none}
.header-tools{display:flex;align-items:center;gap:15px;min-width:0}.header-note{font-size:13px;line-height:1.5;color:#555553;white-space:nowrap}
#effects-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 11px;border:1px solid #787876;border-radius:2px;background:#fffefa;color:#31312f;font-size:13px;line-height:1.5}#effects-toggle b{font-weight:600}#effects-toggle[aria-pressed=true] b{color:#a32b20}#effects-toggle[aria-pressed=false]{background:#eaeae4;color:#5b5b55;border-color:#949492}#effects-toggle:disabled{opacity:.7}
#catalog{width:100%;max-width:var(--max);min-width:0;margin:0 auto;padding:12px 24px 30px;outline:none}
.catalog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:25px;margin:0 0 8px}.catalog-head h1{font-size:18px;line-height:1.4;letter-spacing:-.4px;margin:0;font-weight:600}.catalog-head p{font-size:13px;line-height:1.6;color:#656563;margin:0;text-align:right}
.browse-tools{display:flex;align-items:stretch;gap:10px;width:100%;margin-bottom:7px}.search-form{display:flex;align-items:center;gap:9px;flex:1;min-width:0;min-height:44px;margin:0;padding:0 4px 0 12px;border:1px solid #969694;border-radius:3px;background:#fffefa}.search-form>span[aria-hidden]{flex-shrink:0;font:24px/1 system-ui,sans-serif;color:#494947}.search-form:focus-within{outline:2px solid #b73325;outline-offset:1px;border-color:#b73325}#story-search{display:block;flex:1;min-width:0;width:100%;min-height:40px;padding:8px 0;background:transparent;color:#2c2c2a;font-size:14px;outline:none;appearance:none}#story-search::placeholder{font-size:13px;color:#686866}#story-search::-webkit-search-cancel-button{appearance:none}#clear-search{display:grid;place-items:center;flex-shrink:0;min-width:44px;min-height:44px;background:transparent;color:#535351;font:23px/1 system-ui,sans-serif}
.type-filters{display:flex;align-items:stretch;gap:5px;flex-shrink:0}.type-filters button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 15px;border:1px solid transparent;border-radius:3px;background:#e7e7e5;color:#3d3d3b;font-size:13px;font-weight:500;line-height:1.5;white-space:nowrap}.type-filters button[aria-pressed=true]{background:#21211f;border-color:#21211f;color:#fffefa}
.genre-filters{display:flex;align-items:center;gap:6px;width:100%;min-width:0;max-width:100%;margin:0 0 6px;padding:0 0 2px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#a5a5a3 transparent;overscroll-behavior-x:contain;touch-action:pan-x pan-y}
.genre-filters>span,.genre-filters>strong{flex-shrink:0;color:#656563;font-size:13px;font-weight:400;white-space:nowrap;margin-right:2px}.genre-filters button{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;min-height:44px;padding:8px 12px;border:1px solid #b5b5b3;border-radius:2px;background:transparent;color:#4f4f4d;font-size:13px;line-height:1.5;white-space:nowrap}.genre-filters button span,.genre-filters button b,.genre-filters button small{color:inherit;font:inherit;font-variant-numeric:tabular-nums;opacity:.85}.genre-filters button[aria-pressed=true]{border-color:#40403e;background:#e4e4e2;color:#2d2d2b;font-weight:600}
.layout-toolbar,.view-switch,#spine-preview,.spine-label,.book-underlay,.catalog-index,.edition-rule{display:none!important}
.catalog-status{display:flex;align-items:center;gap:12px;min-height:28px;margin:0 0 9px;padding:2px 0;color:#656563;font-size:13px;line-height:1.6}.catalog-status #result-count{font-weight:600;color:#4e4e4c;font-variant-numeric:tabular-nums;white-space:nowrap}#genre-context{min-width:0;margin-left:auto;color:#656563;font-size:13px;line-height:1.6;text-align:right}#genre-context:empty{display:none}#reset-filters{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;border:1px solid #aeaeac;border-radius:2px;background:#f1f0e6;color:#525250;font-size:13px;line-height:1.6}
/* No initial inspector space is reserved. Category wrappers never establish a
   stacking context above the shared canvas. Native page scrolling is retained. */
#shelf-workspace{display:block;min-width:0}.has-detail #shelf-workspace{display:grid;grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:24px}
#shelf-region{position:relative;isolation:isolate;min-width:0;--shelf-columns:3}
#shelf-canvas{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;opacity:0}#shelf-canvas canvas{display:block;width:100%;height:100%;pointer-events:none}#shelf-region.scene-ready #shelf-canvas{opacity:1}
#shelf-region.scene-ready .story-item.scene-book-active img.cover{opacity:0}
#story-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start;list-style:none;min-width:0;margin:0;padding:0;background:transparent}
.story-group{position:relative;min-width:0;margin:0;padding:0}.group-heading{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:30px;margin:0 0 9px;padding:0 0 6px;border-bottom:2px solid #383836;background:var(--paper)}.group-heading h2{font-size:18px;line-height:1.4;margin:0;letter-spacing:-.45px;font-weight:700;color:#2a2a28}.group-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;margin:0;padding:1px 6px;border:1px solid #b7b7b5;background:#f7f5ec;color:#5d5d5b;font-size:13px;line-height:1.5;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}
.group-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px 10px;min-width:0;margin:0;padding:0;list-style:none;--shelf-columns:3}.has-detail .group-grid{grid-template-columns:repeat(2,minmax(0,1fr));--shelf-columns:2}.has-detail #story-grid{gap:18px}
.group-note,.group-footnote,#group-note,.grouping-note{margin:9px 0 0;color:#656563;font-size:13px;line-height:1.65}
.story-item{position:relative;min-width:0;margin:0;padding:0}.story-card{position:relative;display:flex;flex-direction:column;min-width:0;height:100%;margin:0;padding:0;background:#141412;border:0;outline:1px solid #292927;outline-offset:-1px}
/* Source-cover derivatives are decorative, monochrome panel cuts. They sit
   BELOW the whole-list renderer; they never cover the real full-colour book. */
.panel-art{position:absolute;inset:0;z-index:0;overflow:hidden;background:#f9f9f7;clip-path:polygon(3% 0,100% 0,96% 100%,0 100%);pointer-events:none}
.panel-art img{position:absolute;display:block;width:66%;max-width:none;height:126%;top:-9%;object-fit:cover;filter:grayscale(1) contrast(1.12);opacity:.52;pointer-events:none}
.panel-art img:first-child{left:-10%;object-position:27% 24%;transform:rotate(-6deg);clip-path:polygon(0 0,100% 0,77% 100%,0 100%)}
.panel-art img:last-child{right:-12%;object-position:78% 40%;transform:rotate(7deg);clip-path:polygon(17% 0,100% 0,100% 100%,0 100%)}
.panel-art:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(115deg,transparent 36%,#fffefa 36.3%,#fffefa 38%,#141412 38.2%,#141412 40%,transparent 40.2%);pointer-events:none}
.panel-art:after{content:'';position:absolute;left:-5%;right:-5%;bottom:18%;z-index:1;height:5px;background:#131311;border-block:1px solid #fffefa;transform:rotate(-14deg);pointer-events:none}
.story-item:nth-of-type(2n) .panel-art{clip-path:polygon(6% 0,100% 0,94% 100%,0 100%)}.story-item:nth-of-type(2n) .panel-art img:first-child{object-position:40% 12%;transform:rotate(5deg)}.story-item:nth-of-type(3n) .panel-art img:last-child{object-position:82% 63%;transform:rotate(-9deg)}.story-item:nth-of-type(3n) .panel-art:after{bottom:26%;transform:rotate(13deg)}
.cover-button{position:relative;z-index:2;display:block;width:100%;min-height:44px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;text-align:center;overflow:visible;touch-action:manipulation}
.cover-button:focus-visible{outline:3px solid #b73325;outline-offset:-3px;box-shadow:inset 0 0 0 5px #fffefa}
.cover-slot{position:relative;display:flex;align-items:flex-end;justify-content:center;width:100%;height:144px;min-width:0;padding:5px 13px 0;background:transparent;overflow:visible}
.cover-slot img.cover{position:relative;z-index:1;display:block;width:auto;height:auto;max-width:calc(100% - 30px);max-height:calc(100% - 4px);object-fit:contain;object-position:center bottom;transform:none;filter:none;outline:1px solid #262624;outline-offset:0;box-shadow:0 0 0 3px #fffefa,4px 4px 0 #222220,7px 6px 9px #1f1f1d28;opacity:1}
.card-copy{position:relative;z-index:3;display:flex;flex-direction:column;min-width:0;flex:1;padding:3px 10px 6px;background:#fffefa;clip-path:polygon(3% 0,100% 0,97% 100%,0 100%);border-bottom:1px solid #282826}
.card-copy:after{content:'';position:absolute;right:5px;bottom:3px;width:22px;height:2px;background:#1c1c1a;transform:rotate(-15deg);pointer-events:none}.story-item:nth-of-type(2n) .card-copy:after{background:#b73325;width:28px;transform:rotate(-28deg)}
.story-title{display:block;min-width:0;width:100%;margin:0;color:#161614;font-size:15px;line-height:1.35;font-weight:700;letter-spacing:-.6px;overflow-wrap:anywhere}.title-button{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;width:100%;min-height:44px;padding:3px 0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;line-height:inherit;letter-spacing:inherit;text-align:left}.story-chapter{display:block;margin:0;color:#5a5a58;font-size:13px;line-height:1.5;font-weight:400;letter-spacing:0}
.story-item.is-selected .story-card{outline:3px solid #292927;outline-offset:0}.story-item.is-selected .card-copy:before{content:'';position:absolute;left:3px;top:8px;bottom:10px;width:3px;background:#b73325;pointer-events:none}.story-item.is-preselected .story-card{outline:2px solid #a63124;outline-offset:0}.story-item.is-genre-other .card-copy{opacity:.95}.genre-match{position:absolute;left:7px;top:7px;z-index:3;padding:3px 7px;border:1px solid #464644;background:#fffefa;color:#545452;font-size:13px;font-weight:500;line-height:1.5;pointer-events:none}
/* The no-WebGL back face shares the front's existing slot. All full facts
   remain in the adjacent HTML panel, regardless of animation preference. */
.cover-back{position:absolute;left:50%;bottom:0;z-index:4;display:none;flex-direction:column;gap:5px;width:calc(100% - 60px);max-width:150px;height:calc(100% - 9px);padding:11px 10px;transform:translateX(-50%);overflow:hidden;border:1px solid #353533;background:#fffefa;color:#454543;box-shadow:0 0 0 2px #fffefa,4px 4px 0 #323230;text-align:left;pointer-events:none}.cover-back strong,.cover-back b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:#2b2b29;font-size:13px;line-height:1.4;font-weight:600}.cover-back small{font-size:11px;line-height:1.4;color:#656563}.cover-back span,.cover-back p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;margin:0;color:#595957;font-size:13px;line-height:1.4}.cover-back p{-webkit-line-clamp:2}#shelf-region:not(.scene-ready) .story-item.is-flipped .cover-back,#shelf-region .story-item.is-flipped:not(.scene-book-active) .cover-back{display:flex}#shelf-region:not(.scene-ready) .story-item.is-flipped img.cover,#shelf-region .story-item.is-flipped:not(.scene-book-active) img.cover{opacity:0}#shelf-region.scene-ready .story-item.scene-book-active .cover-back{display:none!important}

/* The selected panel is optional and does not keep a blank column on close. */
#info-dock{display:none;position:sticky;top:12px;z-index:4;min-width:0;margin:0;max-height:calc(100dvh - 24px);overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scroll-padding:12px;scrollbar-width:thin;scrollbar-color:#9a9a98 #f2f1e7}.has-detail #info-dock{display:block}#info-placeholder{display:none}
#shelf-info{position:relative;z-index:3;min-width:0;margin:0;padding:0 0 19px;border:3px solid #242422;background:#fffefa;color:#373735;box-shadow:none;scroll-margin-top:15px;outline:none}
.detail-art{position:relative;isolation:isolate;height:210px;overflow:hidden;background:#272725;border-bottom:3px solid #252523;clip-path:polygon(1% 0,100% 0,100% 97%,0 100%)}
.detail-art-bg{position:absolute;inset:-15% -10%;width:120%;max-width:none;height:130%;object-fit:cover;object-position:center 26%;filter:grayscale(1) contrast(1.15);opacity:.55;transform:rotate(-8deg);pointer-events:none}
.detail-art:after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(110deg,transparent 19%,#fffefa 19.2%,#fffefa 20.4%,#242422 20.7%,#242422 22.3%,transparent 22.5%,transparent 78%,#fffefa 78.2%,#fffefa 79%,transparent 79.3%);pointer-events:none}
.detail-cover{position:relative;z-index:1;display:block;width:100%;height:100%;max-width:none;margin:0;object-fit:cover;object-position:var(--detail-focus,center 30%);transform:none;filter:none;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%);box-shadow:none}
.art-caption{position:absolute;left:9px;bottom:9px;z-index:2;padding:4px 6px;background:#fffefa;color:#333331;font:700 9px/1.4 system-ui,Yoru,sans-serif;letter-spacing:1px;transform:rotate(-3deg);pointer-events:none}
.info-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0;padding:13px 18px 8px}.info-top>div{min-width:0}.info-top .eyebrow{margin:0 0 4px;color:#777775;font:700 9px/1.4 system-ui,Yoru,sans-serif;letter-spacing:1px}.info-top h2,#info-title{margin:0;color:#1f1f1d;font-family:Impact,'Arial Narrow',Yoru,system-ui,sans-serif;font-size:29px;line-height:1.15;letter-spacing:-1px;font-weight:900;overflow-wrap:anywhere;outline:none}.info-credit{margin:5px 0 0;color:#40403e;font-size:14px;line-height:1.5;font-weight:600}#shelf-info:not(.is-outside-results) .info-top:has(#info-close[hidden]) #info-context{display:none}#info-context{margin:7px 0 0;color:#727270;font-size:13px;line-height:1.7}
#info-close{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;gap:5px;min-width:44px;min-height:44px;padding:8px 10px;border:1px solid #959593;border-radius:0;background:#fffefa;color:#545452;font-size:13px;line-height:1.5}#info-close span{font:20px/1 system-ui,sans-serif}
.info-body{display:block;padding:0 18px;min-width:0}.info-facts{display:grid;grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr);gap:14px;margin:0;padding:0 0 8px;border-bottom:1px solid #b7b7b5}.info-facts>div{min-width:0}.info-facts dt{margin:0 0 1px;color:#747472;font-size:13px;line-height:1.5}.info-facts dd{margin:0;color:#464644;font-size:14px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}.info-facts small{display:block;margin-top:2px;color:#747472;font-size:13px;line-height:1.5}
.info-summary{min-width:0}.info-genres{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:8px 0 9px}.info-genres button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:8px 10px;border:1px solid #b5b5b3;border-radius:20px;background:#eaeae8;color:#434341;font-size:13px;line-height:1.5;font-weight:600}.info-genres button:nth-of-type(3n+2){background:#f5dcd8;border-color:#dfaaa2;color:#72382e}.info-genres button:nth-of-type(3n){background:#f3e3ba;border-color:#d5bc7e;color:#66501f}.info-genres button[aria-pressed=true]{background:#323230;border-color:#323230;color:#fffefa}.info-summary>p:not(.metadata-note){margin:0;color:#454543;font-size:14px;line-height:1.75}.metadata-note{margin:9px 0 0;color:#656563;font-size:13px;line-height:1.8}
.info-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:8px;margin:12px 18px 0;padding:0}.info-actions button,.info-actions a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 14px;border:1px solid #9a9a98;background:#f0f0ee;color:#555553;font-size:13px;line-height:1.6;text-align:center}.info-actions .primary-action,.info-actions [data-detail]{width:100%;min-height:46px;background:#262624;border-color:#262624;color:#fffefa;font-size:16px;font-weight:600;letter-spacing:-.2px;box-shadow:3px 3px 0 #b4b4b2;clip-path:polygon(0 0,100% 0,97.5% 100%,1% 100%)}.info-actions>button[data-close-info]{flex:1}
.book-view-controls{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:17px 18px 0;padding:13px 0 0;border-top:1px solid #b6b6b4}.info-face-label{display:block;flex-basis:100%;margin:0;color:#646462;font-size:13px;line-height:1.6;font-weight:600}.book-view-controls button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 11px;border:1px solid #a9a9a7;background:#f7f5e7;color:#575755;font-size:13px;line-height:1.6}.book-view-controls #flip-book{background:#464644;border-color:#464644;color:#fffefa}.book-view-controls button[aria-pressed=true]{outline:2px solid #b73325;outline-offset:2px}.book-view-controls button:disabled{opacity:.6;cursor:default;outline:none}#flip-status{margin:8px 18px 0;color:#6e6e6c;font-size:13px;line-height:1.75}.shelf-info.is-back-reading .info-body{background:#f0eee0}.shelf-info.is-back-reading .info-face-label{color:#a83224}
.info-provenance{margin:15px 18px 0;padding-top:4px;border-top:1px solid #bdbdbb}.info-provenance>summary{display:list-item;min-height:44px;margin-left:18px;padding:11px 0;color:#6a6a68;font-size:13px;line-height:1.6;cursor:pointer}.credit-provenance{margin:6px 0 10px}.credit-provenance dt{color:#6f6f6d;font-size:13px;line-height:1.6}.credit-provenance dd{margin:3px 0 0;color:#444442;font-size:14px;line-height:1.7}.info-source-list{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.info-source-list a{display:inline-flex;align-items:center;min-height:44px;color:#5e5e5c;font-size:13px;line-height:1.6;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.empty-state{padding:29px 20px;margin:10px 0 25px;border:2px solid #3f3f3d;background:#fffefa;text-align:center}.empty-state h2{font-size:25px;line-height:1.35;color:#3b3b39;margin:0 0 10px}.empty-state p{font-size:14px;line-height:1.75;margin:0;color:#6c6c6a}.effects-status{margin:20px 0 0;color:#6e6e6c;font-size:13px;line-height:1.8}.site-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-top:26px;padding-top:20px;border-top:2px solid #40403e;color:#71716f;font-size:13px;line-height:1.8}.site-footer>strong{font:900 20px/1.3 system-ui,sans-serif;letter-spacing:-.7px;color:#343432;white-space:nowrap}.site-footer p{margin:0;max-width:550px}.site-footer>small{max-width:260px;font-size:13px;line-height:1.8;color:#70706e}.noscript-note,noscript>p{margin:16px 24px;padding:15px;border:1px solid #b1b1af;background:#fffefa;color:#5d5d5b;font-size:13px;line-height:1.8}

/* Density adjustments affect slots, not native cover ratios or hit geometry. */
.story-card{outline-width:1px}.panel-art{background:#f9f9f7}.panel-art:after{bottom:22%}.cover-slot{padding-inline:9px}.cover-slot img.cover{max-width:calc(100% - 20px);box-shadow:0 0 0 2px #fffefa,3px 3px 0 #2a2a28,5px 4px 7px #24242224}.card-copy:after{right:3px;bottom:3px}.story-title{font-size:15px;line-height:1.35;letter-spacing:-.3px}.title-button{min-height:44px;padding:2px 0;line-height:1.35}.story-chapter{font-size:13px;line-height:1.5}.genre-match{font-size:13px}
.cover-back{width:calc(100% - 30px);max-width:118px;padding:8px 7px;gap:4px}.cover-back>small:first-child{font-size:10px}.cover-back strong,.cover-back b,.cover-back span,.cover-back p{font-size:13px;line-height:1.35}.cover-back p{-webkit-line-clamp:1}
#shelf-info{border-width:2px;grid-column:1/-1}.info-top{padding:12px 15px 8px}.info-top h2,#info-title{font-size:28px;line-height:1.2;letter-spacing:-.7px}.info-body{padding-inline:15px}.info-credit{font-size:14px}.info-facts{gap:10px}.info-facts dt,.info-facts small{font-size:13px}.info-facts dd{font-size:14px}.info-genres{gap:5px}.info-genres button{font-size:13px;padding-inline:9px;min-height:44px}.info-summary>p:not(.metadata-note){font-size:14px}.info-actions,.book-view-controls,.info-provenance{margin-inline:15px}#flip-status{margin-inline:15px}
.info-top .eyebrow,#info-context,.info-facts dt,.info-facts small,.metadata-note,#flip-status,.effects-status,.site-footer,.site-footer>small,.catalog-status,#genre-context{color:#656563}
.effects-status{margin-top:16px}.site-footer{margin-top:20px;padding-top:16px}
@media(hover:hover) and (pointer:fine){.title-button:hover{color:#a63124}.type-filters button:not([aria-pressed=true]):hover,.genre-filters button:not([aria-pressed=true]):hover{border-color:#868684;background:#e6e6e4;color:#3e3e3c}.info-actions .primary-action:hover,.info-actions [data-detail]:hover{background:#a32f22;border-color:#a32f22}.info-genres button:hover{outline:1px solid #838381;outline-offset:1px}.info-source-list a:hover,.info-provenance>summary:hover{color:#a63124}#effects-toggle:hover,#info-close:hover{background:#ebebe9;border-color:#848482}.story-item.is-preselected .panel-art{filter:contrast(1.04)}}
@media(min-width:1450px){#story-grid{gap:28px}.group-grid{gap:13px 12px}.cover-slot{height:158px}.story-title{font-size:16px}.has-detail #story-grid{gap:20px}.has-detail .cover-slot{height:148px}}
@media(min-width:1050px) and (max-width:1199px){.site-header{padding-inline:20px}#catalog{padding-inline:20px}.has-detail #shelf-workspace{grid-template-columns:minmax(0,1fr) 360px;gap:20px}.has-detail #story-grid{grid-template-columns:1fr;gap:22px}.has-detail .group-grid{grid-template-columns:repeat(3,minmax(0,1fr));--shelf-columns:3}#story-grid{gap:18px}.group-grid{gap:11px 8px}.cover-slot{height:140px}.card-copy{padding-inline:8px}.story-title{font-size:14px}.has-detail .story-title{font-size:15px}}
@media(max-width:1049px){.site-header{padding-inline:20px}.masthead{font-size:38px;letter-spacing:-2.1px}.masthead span{letter-spacing:-2.5px}.header-tools{gap:11px}.header-note{font-size:13px}#catalog{padding:11px 20px 28px}.has-detail #shelf-workspace{display:block}#story-grid,.has-detail #story-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.group-grid,.has-detail .group-grid{grid-template-columns:repeat(2,minmax(0,1fr));--shelf-columns:2}.group-heading{margin-bottom:9px}.group-heading h2{font-size:17px}.cover-slot{height:157px}.story-title{font-size:15px}#info-dock,.has-detail #info-dock{display:contents;position:static;margin:0;max-height:none;overflow:visible;overscroll-behavior:auto}#shelf-info{max-height:78dvh;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scroll-padding-block:12px;scrollbar-width:thin;scrollbar-color:#9a9a98 #f2f1e7;margin:0}.detail-art{height:210px}.info-top h2,#info-title{font-size:28px}.info-body{padding-inline:17px}.info-top{padding-inline:17px}.info-actions,.book-view-controls,.info-provenance{margin-inline:17px}#flip-status{margin-inline:17px}.info-facts{grid-template-columns:1fr 1.4fr}.info-summary>p:not(.metadata-note){font-size:14px}.site-footer{flex-wrap:wrap}.site-footer>small{max-width:none;flex-basis:100%}}
@media(max-width:780px){.site-header{gap:12px;padding-inline:16px}.header-note{display:none}.masthead{font-size:36px;letter-spacing:-2px}.masthead span{letter-spacing:-2.3px}#catalog{padding:11px 16px 25px}.browse-tools{gap:8px}.type-filters button{padding-inline:10px}.catalog-head h1{font-size:17px}.catalog-head p{font-size:13px}#story-grid,.has-detail #story-grid{gap:17px}.group-heading h2{font-size:17px}.group-grid,.has-detail .group-grid{gap:11px 8px}.cover-slot{height:146px;padding-inline:7px}.cover-slot img.cover{max-width:calc(100% - 16px)}.card-copy{padding-inline:8px}.story-title{font-size:14px;letter-spacing:-.2px}.story-chapter{font-size:13px}.detail-art{height:200px}.info-facts{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}}
@media(max-width:650px){.site-header{min-height:59px;gap:10px;padding:7px 13px}.masthead{min-height:44px;font-size:32px;letter-spacing:-1.9px;gap:6px}.masthead span{letter-spacing:-2.3px}.header-tools{gap:0}#effects-toggle{min-height:44px;max-width:136px;padding:8px 9px;gap:4px 5px;font-size:13px;flex-wrap:wrap}#effects-toggle:disabled{max-width:145px}#catalog{padding:10px 13px 24px}.catalog-head{align-items:flex-start;gap:12px;min-height:24px;margin-bottom:7px}.catalog-head h1{font-size:17px;line-height:1.4}.catalog-head p{font-size:13px;line-height:1.6;max-width:48%;text-align:right}.browse-tools{flex-direction:column;gap:6px;margin-bottom:6px}.search-form{min-height:44px;padding-left:11px}#story-search{font-size:16px;min-height:40px}#story-search::placeholder{font-size:13px}.type-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.type-filters button{min-height:44px;padding:8px 5px;font-size:13px}.genre-filters{gap:5px;margin-bottom:5px;padding-bottom:3px}.genre-filters button{font-size:13px;min-height:44px;padding:8px 10px;gap:6px}.catalog-status{align-items:flex-start;flex-wrap:wrap;gap:7px;min-height:28px;margin-bottom:9px;font-size:13px}#genre-context{font-size:13px;max-width:72%}#reset-filters{min-height:44px;font-size:13px;padding:8px 9px;margin-left:auto}
 #story-grid,.has-detail #story-grid{grid-template-columns:1fr;gap:22px}.group-grid,.has-detail .group-grid{grid-template-columns:repeat(2,minmax(0,1fr));--shelf-columns:2;gap:12px 10px}.group-heading{min-height:30px;margin-bottom:10px;padding-bottom:6px}.group-heading h2{font-size:18px;letter-spacing:-.4px}.group-count{font-size:13px}.cover-slot{height:166px;padding:5px 8px 0}.cover-slot img.cover{max-width:calc(100% - 16px);max-height:calc(100% - 4px)}.card-copy{padding:3px 10px 6px}.story-title{font-size:15px;line-height:1.35;letter-spacing:-.3px}.title-button{min-height:44px;padding:2px 0}.story-chapter{font-size:13px;line-height:1.5}.panel-art img{opacity:.5}.group-note,.group-footnote,#group-note,.grouping-note{font-size:13px;line-height:1.65;margin-top:8px}.cover-back{max-width:124px;width:calc(100% - 24px);padding:9px 8px}.cover-back strong,.cover-back span,.cover-back p{font-size:13px}.cover-back p{-webkit-line-clamp:2}
 #shelf-info{max-height:78dvh;border-width:2px;padding-bottom:16px;scroll-padding-block:12px}.detail-art{height:195px}.detail-cover{max-width:none}.info-top{gap:10px;padding:12px 13px 8px}.info-top h2,#info-title{font-size:27px;line-height:1.2;letter-spacing:-.65px}.info-top .eyebrow{font-size:10px;line-height:1.5}.info-credit{font-size:14px;line-height:1.5}.info-body{padding:0 13px}.info-facts{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:11px}.info-facts dt,.info-facts small{font-size:13px;line-height:1.5}.info-facts dd{font-size:14px;line-height:1.5}.info-genres{gap:6px;margin-block:8px 9px}.info-genres button{font-size:13px;min-height:44px;padding:8px 10px}.info-summary>p:not(.metadata-note){font-size:14px;line-height:1.8}.info-actions{gap:7px;margin:12px 13px 0}.info-actions button,.info-actions a{font-size:13px;min-height:46px;padding:10px 12px}.info-actions .primary-action{font-size:16px;min-height:46px}.book-view-controls{gap:7px;margin:16px 13px 0;padding-top:12px}.book-view-controls button{font-size:13px;min-height:44px;padding:8px 10px;flex:1 1 auto}.info-face-label{font-size:13px}#flip-status{font-size:13px;margin-inline:13px}.info-provenance{margin:14px 13px 0}.info-provenance>summary,.info-source-list a{font-size:13px;min-height:44px}.metadata-note{font-size:13px;line-height:1.8}.credit-provenance dt{font-size:13px}.credit-provenance dd{font-size:14px}.effects-status{font-size:13px;margin-top:16px}.site-footer{flex-direction:column;gap:12px;margin-top:20px;padding-top:16px;font-size:13px}.site-footer>small{font-size:13px;flex-basis:auto}.noscript-note,noscript>p{margin:13px;padding:13px;font-size:13px}}
@media(max-width:360px){.site-header{padding-inline:10px;gap:8px}.masthead{font-size:29px;gap:5px;letter-spacing:-1.8px}.masthead span{letter-spacing:-2.1px}#effects-toggle{font-size:13px;max-width:126px;padding-inline:8px}#catalog{padding-inline:10px}.catalog-head h1{font-size:16px}.catalog-head p{font-size:13px}.type-filters button{font-size:13px;padding-inline:3px}.group-grid,.has-detail .group-grid{gap:11px 8px}.group-heading h2{font-size:17px}.cover-slot{height:154px;padding-inline:6px}.cover-slot img.cover{max-width:calc(100% - 12px)}.card-copy{padding-inline:8px}.story-title{font-size:14px;letter-spacing:-.15px}.story-chapter{font-size:13px}.detail-art{height:185px}.info-top,.info-body{padding-inline:12px}.info-top h2,#info-title{font-size:26px}.info-facts dd{font-size:13px}.info-actions,.book-view-controls,.info-provenance{margin-inline:12px}#flip-status{margin-inline:12px}}
@media(min-width:1050px) and (max-height:720px){.site-header{min-height:56px;padding-block:5px}#catalog{padding-top:9px}.catalog-head{margin-bottom:6px}.cover-slot{height:128px}.group-heading{margin-bottom:8px}.group-grid{row-gap:10px}}
@media(max-width:650px) and (max-height:650px){.site-header{min-height:56px;padding-block:6px}#catalog{padding-top:8px}.catalog-head{margin-bottom:6px}.cover-slot{height:152px}.detail-art{height:180px}}
@media(max-width:1049px) and (max-height:550px){#shelf-info{max-height:84dvh}.detail-art{height:175px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* A genre result with only one remaining group uses the full catalogue width;
   no empty half-page, no duplicated stories, and no change to detail/mobile grids. */
#story-grid:has(> .story-group[hidden]) > .story-group:not([hidden]){grid-column:1/-1}
@media(min-width:1050px){body:not(.has-detail) #story-grid:has(> .story-group[hidden]) > .story-group:not([hidden]) .group-grid{grid-template-columns:repeat(6,minmax(0,1fr));--shelf-columns:6}}

/* Exact genre filtering already explains membership through the section and facet.
   Per-card content stays cover, title and latest chapter only. */
.genre-match{display:none!important}
