@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600&family=Libre+Caslon+Display&display=swap');
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/cormorant-garamond-italic.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/cormorant-garamond-normal.ttf) format('truetype');
}
:root{--bg:#f5f2ea;--ink:#283c35;--muted:#626b61;--line:#d5d9cd;--accent:#7b4739;--surface:#fffdf7;--chip:#e8ecdf;--paper:#faf3e3;--paper-ink:#34382e;--shadow:0 18px 28px -19px #16291b80;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',system-ui,sans-serif;color-scheme:light}
[data-theme=dark]{--bg:#141e1c;--ink:#eaeade;--muted:#b0bbae;--line:#39473f;--accent:#deb5a2;--surface:#1c2925;--chip:#304039;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a{touch-action:manipulation}button{color:inherit}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ba793d;outline-offset:5px}a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:16px;top:-80px;z-index:50;background:var(--surface);padding:12px}.skip:focus{top:16px}.topbar{max-width:1380px;margin:auto;height:96px;padding:0 56px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:16px}.brand{text-decoration:none;display:flex;align-items:center;gap:13px;font-size:12px;font-weight:600;letter-spacing:2.1px}.brand-symbol{font:40px/1 Georgia;font-weight:normal}.top-actions{display:flex;align-items:center;gap:22px}.quiet-button,.icon-button{border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:8px 3px}.quiet-button{font-size:14px}.quiet-button:hover{color:var(--accent)}#saved-count{font-size:12px;min-width:21px;padding:1px 5px;border:1px solid var(--line);border-radius:50%}#saved-toggle[aria-pressed=true]{color:var(--accent)}#saved-toggle[aria-pressed=true] svg{fill:currentColor}.icon-button{width:44px;border:1px solid var(--line);border-radius:50%}main{max-width:1268px;margin:auto;padding:0 36px}.intro{display:flex;align-items:center;justify-content:space-between;padding:61px 0 43px;gap:20px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:600;margin:0 0 12px;color:var(--accent)}h1{font-family:var(--serif);font-weight:400;font-size:76px;line-height:1.05;letter-spacing:-2px;margin:0 0 17px}.title-dot{color:#aa674d}.intro-copy{color:var(--muted);font-size:16px;line-height:1.75;margin:0}.collection-seal{display:flex;align-items:center;gap:18px;padding:25px;border-left:1px solid var(--line);color:var(--muted)}.collection-seal>span{font-size:64px;font-family:Georgia;color:var(--accent)}.collection-seal p{font-size:12px;line-height:1.8;letter-spacing:.4px}.collection-tools{display:flex;align-items:center;justify-content:space-between;gap:20px}.search-wrap{position:relative;display:flex;align-items:center;gap:12px;max-width:440px;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:0 15px;color:var(--muted)}.search-wrap input{width:100%;min-width:0;border:0;background:transparent;color:var(--ink);height:48px;font-size:14px;outline-offset:0}.search-wrap input::placeholder{color:var(--muted)}kbd{font:12px var(--sans);border:1px solid var(--line);padding:0 6px;border-radius:3px}.surprise{gap:9px}.surprise>span{font:25px Georgia}.categories{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0;padding-bottom:28px;border-bottom:1px solid var(--line)}.category{white-space:nowrap;font-size:13px;min-height:40px;padding:9px 16px;border:1px solid transparent;border-radius:24px;background:transparent;color:var(--muted)}.category:hover{border-color:var(--line);color:var(--ink)}.category[aria-pressed=true]{background:var(--ink);color:var(--bg)}.results-bar{display:flex;justify-content:space-between;align-items:center;margin:29px 0 25px;gap:12px}.results-bar>div{display:flex;align-items:baseline;gap:13px}h2{font-family:var(--serif);font-size:29px;font-weight:400;margin:0}#result-count{font-size:12px;color:var(--muted)}.sort-label{position:relative;display:flex;align-items:center;font-size:12px;color:var(--muted)}select{appearance:none;border:0;background:transparent;padding:10px 24px 10px 10px;font-size:12px;color:var(--muted);cursor:pointer}option{background:var(--bg);color:var(--ink)}.sort-label>span:last-child{pointer-events:none;position:absolute;right:4px}.book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:35px;row-gap:38px}.book-card{position:relative;min-width:0}.book-open{display:block;width:100%;border:0;padding:0;background:transparent;text-align:left}.cover{position:relative;background:linear-gradient(112deg,#ffffff0e,transparent 47%,#0000001a),var(--cover);color:var(--foil);aspect-ratio:.69;border-radius:3px 9px 9px 3px;box-shadow:var(--shadow),inset 8px 0 9px -7px #0009,inset 15px 0 8px -12px #fff4,inset -3px 0 0 #ede6cfb0;display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 19px 22px;isolation:isolate;overflow:hidden;transition:transform .22s,box-shadow .22s}.cover:before{content:'';position:absolute;inset:13px 13px 13px 20px;border:1px solid currentColor;opacity:.18;z-index:-1;pointer-events:none}.cover-label{font-size:8px;font-weight:450;letter-spacing:2.7px;margin:0 0 auto;opacity:.87}.cover-symbol{width:61px;height:61px;stroke-width:1;margin:20px 0 23px;flex-shrink:0}.cover-title{font:32px/1.09 var(--serif);max-width:100%;overflow-wrap:break-word}.cover-date{font:12px/1.4 var(--serif);margin-top:auto;padding-top:23px;letter-spacing:.5px;max-width:95%}.cover-ornament{font-size:14px;margin:10px 0 0;opacity:.6}.book-title{font:25px/1.15 var(--serif);margin:18px 0 6px}.book-meta{font-size:12px;line-height:1.5;color:var(--muted);margin:0}.book-category{font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:var(--accent);margin:9px 0 0}.bookmark{position:absolute;top:10px;right:10px;z-index:2;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:transparent;color:var(--foil);opacity:0;transition:opacity .2s,background .2s}.bookmark svg{width:18px;height:18px}.bookmark[aria-pressed=true] svg{fill:currentColor}.bookmark[aria-pressed=true],.book-card:hover .bookmark,.book-card:focus-within .bookmark{opacity:1}.bookmark:hover{background:#ffffff16}.book-open:hover .cover{transform:translateY(-5px) rotate(-.5deg);box-shadow:0 23px 29px -20px #132c1ab3,inset -3px 0 0 #ede6cfb0}.book-open:hover .book-title{color:var(--accent)}footer{border-top:1px solid var(--line);margin:65px 0 0;padding:28px 0 38px;display:flex;gap:20px;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}footer p{margin:0}.footer-brand{font:22px var(--serif);color:var(--ink)}.empty{text-align:center;padding:65px 20px}.empty>span{font:55px Georgia;color:var(--accent)}.empty h3{font:34px var(--serif);margin:18px 0 8px}.empty p{color:var(--muted);margin-bottom:25px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:#294c43;color:#fff8e9;border:1px solid transparent;border-radius:30px;padding:13px 23px;text-decoration:none;font-size:14px;min-height:48px}.primary:hover{background:#1b3931}.primary svg{width:17px;height:17px}dialog{padding:0;width:min(960px,calc(100% - 40px));max-height:90dvh;border:0;border-radius:16px;background:var(--paper);color:var(--paper-ink);box-shadow:0 20px 90px #0006;overscroll-behavior:contain}dialog::backdrop{background:#0e1c18a8;backdrop-filter:blur(6px)}body:has(dialog[open]){overflow:hidden}.close-button{position:sticky;top:15px;float:right;margin:15px 15px -61px 0;z-index:5;border:1px solid #d3d2c3;background:#fff8e9;color:#344039;border-radius:50%;width:46px;height:46px;display:grid;place-items:center;box-shadow:0 2px 10px #0001}.detail-layout{display:grid;grid-template-columns:38% 62%;align-items:start}.detail-art{position:sticky;top:0;min-height:100%;align-self:stretch;background:var(--stage);padding:75px 34px 45px;display:flex;flex-direction:column;align-items:center;gap:30px}.detail-art .cover{width:100%;max-width:280px;min-height:310px}.detail-art .cover-title{font-size:37px}.detail-art .cover-label{font-size:9px}.detail-art .cover-symbol{width:70px;height:70px}.detail-art .cover-date{font-size:14px}.detail-save{color:#f2ead8;border:1px solid #ffffff48;border-radius:30px;padding:10px 17px;min-height:44px}.detail-save svg{width:17px;height:17px}.detail-save[aria-pressed=true] svg{fill:currentColor}.detail-save:hover{color:#fff;background:#ffffff14}.detail-copy{padding:73px 43px 38px}.detail-date{font-size:11px;letter-spacing:1.1px;text-transform:uppercase;color:#865644;margin:0 0 12px}.detail-copy h2{font:47px/1.05 var(--serif);letter-spacing:-.5px;margin:0 0 13px}.detail-author{font-size:14px;color:#737166;margin:0 0 23px}.detail-description{font:24px/1.4 var(--serif);margin:0 0 18px}.detail-story{font-size:15px;line-height:1.85;color:#595b50;margin:0 0 23px}.inside-label{font-size:10px;letter-spacing:1.7px;font-weight:600;color:#865644}.themes{list-style:none;margin:10px 0 28px;padding:0}.themes li{border-left:2px solid #bb927c;padding:3px 0 3px 14px;margin:11px 0;font:21px/1.35 var(--serif);color:#4e5346}.detail-links{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.secondary-link{font-size:13px;text-underline-offset:4px}.edition{border-top:1px solid #d8d4c5;margin-top:29px;padding-top:17px;color:#6a6c61;font-size:12px;line-height:1.75}.edition summary{cursor:pointer;font-size:12px;min-height:30px}.edition p{margin:8px 0}.edition a{text-underline-offset:3px}.detail-nav{display:flex;justify-content:space-between;border-top:1px solid #d8d4c5;padding-top:17px;margin-top:25px;gap:12px}.detail-nav button{border:0;background:transparent;font-size:12px;min-height:40px;color:#616657}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:var(--bg);border-radius:30px;padding:11px 22px;z-index:20;opacity:0;pointer-events:none;transition:.2s;font-size:13px;max-width:90%;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1300px){.cover{padding-top:34px}.cover-title{font-size:35px}.cover-symbol{width:68px;height:68px}}
@media(max-width:1020px){.topbar{padding:0 32px}.book-grid{gap:30px 25px;grid-template-columns:repeat(3,minmax(0,1fr))}.collection-seal{padding:15px}.intro h1{font-size:67px}.categories{gap:4px}.category{padding:9px 12px}.detail-copy{padding:72px 30px 30px}.detail-art{padding:75px 25px 35px}.detail-art .cover-title{font-size:30px}}
@media(max-width:700px){.topbar{height:77px;padding:0 22px}.brand{font-size:10px;letter-spacing:1.4px;gap:9px}.brand-symbol{font-size:31px}.top-actions{gap:12px}.top-actions .quiet-button{font-size:12px;gap:5px}.top-actions .quiet-button svg{width:18px}.icon-button{width:35px;min-height:35px}.icon-button svg{width:18px}main{padding:0 23px}.intro{padding:37px 0 29px}.eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:14px}.intro h1{font-size:55px;letter-spacing:-1.5px;margin-bottom:15px}.intro-copy{font-size:14px;line-height:1.7;max-width:330px}.collection-seal{display:none}.desktop-break{display:none}.collection-tools{gap:12px}.search-wrap{padding:0 11px}.search-wrap input{height:45px;font-size:13px}.search-wrap svg{width:18px}kbd{display:none}.surprise{font-size:0;width:40px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;height:40px;min-height:40px}.surprise>span{font-size:26px}.categories{margin-top:18px;gap:5px;padding-bottom:20px;flex-wrap:nowrap;overflow:auto;scrollbar-width:none;margin-right:-23px;padding-right:23px}.categories::-webkit-scrollbar{display:none}.category{font-size:12px;min-height:39px;padding:9px 14px;border-color:var(--line)}.results-bar{margin:22px 0 21px}.results-bar>div{gap:9px}.results-bar h2{font-size:25px}#result-count{font-size:11px}.sort-label,select{font-size:11px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:29px 21px}.cover{padding:23px 14px 20px;aspect-ratio:.655}.cover-label{font-size:6px;letter-spacing:1.8px}.cover-symbol{width:45px;height:45px;margin:16px 0 17px}.cover-title{font-size:27px}.cover-date{font-size:10px;padding-top:16px}.cover-ornament{display:none}.cover:before{inset:10px 10px 10px 16px}.book-title{font-size:22px;margin-top:14px}.book-meta{font-size:11px}.book-category{font-size:9px;margin-top:7px}.bookmark{opacity:1;top:7px;right:7px;width:30px;height:30px}.bookmark svg{width:15px;height:15px}.book-card .cover-label{padding-right:5px}.book-open:hover .cover{transform:none}footer{margin-top:43px;flex-direction:column;gap:7px;text-align:center;padding:24px 0 31px}dialog{width:calc(100% - 24px);max-height:94dvh;border-radius:16px}.detail-layout{display:block}.detail-art{position:relative;min-height:0;padding:39px 28px 23px;gap:18px}.detail-art .cover{width:195px;min-height:0;aspect-ratio:.68;padding:24px 16px}.detail-art .cover-title{font-size:29px}.detail-art .cover-symbol{width:49px;height:49px;margin:16px 0}.detail-art .cover-label{font-size:7px}.detail-art .cover-date{font-size:11px}.detail-save{font-size:12px;min-height:38px;padding:7px 14px}.detail-copy{padding:30px 27px}.detail-copy h2{font-size:40px}.detail-description{font-size:25px}.detail-story{font-size:15px}.detail-author{font-size:13px}.detail-date{font-size:10px}.themes li{font-size:22px}.detail-links{align-items:flex-start;flex-direction:column}.close-button{width:41px;height:41px;top:12px;margin:12px 12px -53px 0}.primary{font-size:13px}.toast{bottom:20px;width:max-content}}
@media(max-width:365px){main{padding:0 17px}.topbar{padding:0 16px}.brand{font-size:9px}.top-actions{gap:7px}.intro h1{font-size:47px}.book-grid{column-gap:15px}.cover-title{font-size:24px}.cover-symbol{width:38px;height:38px}.book-title{font-size:20px}.cover-label{font-size:5px}.book-category{font-size:8px}.detail-copy{padding:28px 22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.copy-link{border:0;background:transparent;color:#5d6557;text-decoration:underline;text-underline-offset:4px;font-size:14px;min-height:44px;padding:10px 4px}.copy-link:hover{color:#294c43}.reading-link-fallback{width:100%;min-width:0;border:1px solid #a4aa97;border-radius:5px;padding:12px;font:16px var(--sans);background:#fffdf7;color:#34382e}.detail-links:has(.reading-link-fallback:not([hidden])){flex-wrap:wrap}

.results-bar{flex-wrap:wrap}

/* Shared category colors and symbols form a visual key across the shelf. */
.category{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;flex-shrink:0}
.category-symbol{width:19px;height:19px;stroke-width:4;color:var(--cover,var(--ink))}
.category[aria-pressed=true]{background:var(--cover,var(--ink));color:var(--foil,var(--bg));border-color:var(--cover,var(--ink))}
.category[aria-pressed=true] .category-symbol{color:inherit}
[data-theme=dark] .category:not([aria-pressed=true]) .category-symbol{color:var(--foil,var(--ink))}
.cover-label,.detail-art .cover-label{font-size:12px;line-height:1.35;letter-spacing:.8px;text-transform:uppercase;opacity:1;max-width:100%;padding:0 14px;min-height:33px}
.book-card .cover-label{padding:0 14px}
@media(max-width:700px){.category{font-size:14px}.category-symbol{width:18px;height:18px}.cover-label,.detail-art .cover-label{font-size:12px;letter-spacing:.4px}.cover-symbol{margin-top:12px;margin-bottom:14px}.book-card .cover-label{padding:0 8px}}

.book-category{color:var(--cover,var(--accent))}[data-theme=dark] .book-category{color:var(--foil,var(--accent))}

/* Book typography: a fine literary serif, small category caps, and an italic date. */
.cover{--book-serif:'Cormorant Garamond','Iowan Old Style','Palatino Linotype',Georgia,serif}
.cover-label,.detail-art .cover-label,.book-card .cover-label{font:400 10.5px/1.45 var(--sans);letter-spacing:1.2px;min-height:30px;padding:0 10px;margin-top:3px;text-wrap:balance}
.cover-title{font-family:var(--book-serif);font-size:31px;line-height:1.13;font-weight:400;letter-spacing:.1px;text-wrap:balance;font-kerning:normal;font-variant-ligatures:common-ligatures}
.cover-date{font-family:var(--book-serif);font-size:14px;line-height:1.35;font-style:italic;letter-spacing:.25px;padding-top:22px}
.detail-art .cover-title{font-family:var(--book-serif);font-size:35px;line-height:1.12;font-weight:400}
.detail-art .cover-date{font-family:var(--book-serif);font-size:15px;font-style:italic}
@media(max-width:700px){.cover-title{font-size:26px}.cover-date{font-size:12px;padding-top:17px}.cover-label,.detail-art .cover-label,.book-card .cover-label{font-size:10px;letter-spacing:.85px;min-height:29px;padding:0 7px}.detail-art .cover-title{font-size:30px}.detail-art .cover-date{font-size:13px}}
@media(max-width:365px){.cover-title{font-size:24px}}
