:root{font-family:"Segoe UI",Arial,sans-serif;color:#f0e6d4;background:#152326;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,a{font:inherit}button{cursor:pointer}[hidden]{display:none!important}.story-library{padding:clamp(16px,3vw,32px);max-width:1480px;margin:auto}.eyebrow{font:10px/1.5 Consolas,monospace;letter-spacing:.16em;color:#d6bd83;margin:0 0 5px}h1{font:clamp(24px,3vw,34px)/1.2 Georgia,serif;margin:0}.library-intro{color:#b7c7bf;font-size:13px;margin:10px 0 22px}.library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:18px;align-items:start}.book-card{min-width:0;overflow:hidden;border:1px solid #8f9d873b;border-radius:6px;background:#1d2e30;box-shadow:0 4px 12px #06131535}.book-open{width:100%;padding:12px 12px 0;border:0;background:none;color:inherit;text-align:left;display:block;text-decoration:none}.book-open:focus-visible{outline:3px solid #e8d3a0;outline-offset:-3px}.book-cover{width:100%;aspect-ratio:16/9;display:block;object-fit:contain;object-position:center;background:#101d20;border-radius:3px}.book-title{display:block;font:22px/1.2 Georgia,serif;margin:15px 2px 8px}.book-open:hover .book-title{text-decoration:underline;text-underline-offset:4px}.book-meta{display:block;font:10px/1.5 Consolas,monospace;letter-spacing:.06em;color:#dbc592;margin:0 2px 8px}.book-copy{padding:0 14px 17px}.book-copy p{font-size:13px;line-height:1.65;color:#ccd5ce;margin:0 0 12px}.book-copy p:last-child{margin-bottom:0}.content-note{font-size:11px!important;color:#dabca4!important;border-top:1px solid #d8c09725;padding-top:10px}.cover-pending{display:grid;place-items:center;width:100%;aspect-ratio:16/9;color:#b7c7bf;font-size:13px;background:#101d20;text-align:center}.book-action{display:block;font-size:12px;color:#e7d1a1;margin:12px 2px;min-height:24px}#library-status{font-size:13px;color:#ccd5ce}@media(min-width:1100px){.library-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:540px){.library-grid{grid-template-columns:1fr;gap:16px}.book-open{display:grid;grid-template-columns:94px minmax(0,1fr);column-gap:13px;align-items:start}.book-cover,.cover-pending{grid-row:1/5;grid-column:1}.book-title{font-size:23px;margin-top:3px;grid-column:2}.book-meta,.book-action{grid-column:2}.book-copy{padding-top:10px}.book-copy p{font-size:14px}.library-intro{line-height:1.6}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Wide cover compositions share the same frame on desktop, tablet and phone. */
@media(max-width:540px){.book-open{display:block;padding:12px 12px 0}.book-cover,.cover-pending{width:100%;aspect-ratio:16/9}.book-title{margin:13px 2px 8px;font-size:22px}.book-meta,.book-action{margin-left:2px;margin-right:2px}.book-copy{padding-top:0}}

/* Column masonry preserves each whole card and the catalog/keyboard order. */
.library-grid{display:block;column-count:1;column-width:auto;column-gap:18px}
.book-card{display:inline-block;width:100%;vertical-align:top;break-inside:avoid;page-break-inside:avoid;margin:0 0 18px}
.book-cover,.cover-pending{aspect-ratio:16/9;object-fit:contain}
@media(min-width:620px){.library-grid{column-count:2}}
@media(min-width:1100px){.library-grid{column-count:4}}
