@font-face{font-family:Playfair;src:url(../fonts/playfair-display-latin.woff2) format('woff2');font-weight:500 800;font-display:swap}
@font-face{font-family:Lora;src:url(../fonts/lora-latin.woff2) format('woff2');font-display:swap}
:root{--navy:#003366;--gold:#fad807;--cream:#f8f6f0;--ink:#23384b;--muted:#526579;--rule:#d8dfe5}
*{box-sizing:border-box}html,body{overflow-x:hidden}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.6 Lora,Georgia,serif}a{color:var(--navy)}[hidden]{display:none!important}:focus-visible{outline:3px solid #a87900;outline-offset:5px}button,input,select{font:inherit}.skip{position:absolute;top:-100px;left:16px;padding:10px;background:white;z-index:5}.skip:focus{top:10px}
.site-header{background:var(--navy);color:white}.header-inner{max-width:1280px;margin:auto;padding:18px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--gold);font:600 22px/1.3 Playfair,Georgia,serif}.brand img{object-fit:contain}nav{display:flex;gap:28px}nav a{color:#edf3fa;font:600 14px/1.4 system-ui,sans-serif;text-decoration:none}nav a:hover{text-decoration:underline}
.intro{background:var(--navy);color:white;border-bottom:4px solid var(--gold)}.intro-inner{max-width:1280px;padding:64px 40px 48px;margin:auto}.intro h1{font:600 clamp(38px,5vw,66px)/1.1 Playfair,Georgia,serif;color:var(--gold);margin:0 0 22px}.intro p{font-size:20px;max-width:720px;margin:0 0 30px;color:#e2eaf3}.intro-note{font:600 15px/1.7 system-ui,sans-serif}.intro-note span{display:block;color:#c5d5e7;font-weight:400;margin-top:4px}
.collection{max-width:1280px;margin:auto;padding:40px 40px 80px;scroll-margin-top:20px}.filters{display:flex;align-items:flex-end;gap:20px;padding-bottom:28px;border-bottom:1px solid var(--rule)}label{display:block;font:600 14px/1.5 system-ui,sans-serif;margin-bottom:8px}.search-field{flex:1}.author-field{width:320px}input,select{width:100%;min-height:50px;background:white;border:1px solid #a0afbf;border-radius:4px;color:var(--ink);padding:10px 14px;font:16px/1.5 system-ui,sans-serif}.clear{min-height:50px;padding:10px 18px;background:transparent;border:1px solid #a0afbf;border-radius:4px;color:var(--navy);font:600 14px/1.4 system-ui,sans-serif;cursor:pointer}.clear:hover{background:white}.results{margin:22px 0 30px}.results p{font:14px/1.5 system-ui,sans-serif;color:var(--muted);margin:0}
.books{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:34px;row-gap:52px}.book{display:flex;flex-direction:column;min-width:0}.book-cover{height:300px;display:flex;align-items:center;justify-content:center;background:#edece6;border-bottom:3px solid #d9d7cc;padding:18px 24px;text-decoration:none}.book-cover img{max-width:100%;height:100%;object-fit:contain;filter:drop-shadow(4px 7px 5px rgba(0,25,48,.18))}.book-info{padding:18px 2px 0;display:flex;flex-direction:column;flex:1}.book h2{font:600 21px/1.35 Playfair,Georgia,serif;margin:0 0 9px}.book h2 a{text-decoration:none}.book h2 a:hover{text-decoration:underline;text-underline-offset:4px}.author{font-size:15px;line-height:1.55;color:var(--muted);margin:0 0 20px}.read-link{font:600 14px/1.5 system-ui,sans-serif;margin-top:auto;align-self:flex-start;border-bottom:2px solid #c2ab27;text-decoration:none;padding-bottom:3px}.read-link:hover{border-color:var(--navy)}.empty{padding:40px 0;font-size:20px}
footer:not(.tt-site-footer){border-top:1px solid var(--rule);max-width:1200px;margin:auto;padding:30px 40px 40px;font-size:14px;color:var(--muted)}footer:not(.tt-site-footer) p{margin:6px 0}
@media(max-width:1180px){.books{grid-template-columns:repeat(3,minmax(0,1fr))}.author-field{width:270px}}
@media(max-width:760px){.header-inner,.intro-inner,.collection{padding-left:24px;padding-right:24px}.brand{font-size:19px}nav{gap:16px}nav a{font-size:12px}.intro-inner{padding-top:42px;padding-bottom:34px}.intro p{font-size:18px}.books{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 24px}.book-cover{height:280px}.filters{flex-wrap:wrap}.search-field{flex-basis:100%}.author-field{flex:1;width:auto}.book h2{font-size:20px}}
@media(max-width:430px){.header-inner{flex-wrap:wrap;gap:12px}.header-inner,.intro-inner,.collection{padding-left:18px;padding-right:18px}.books{gap:34px 18px}.book-cover{height:210px;padding:12px}.book h2{font-size:18px}.author{font-size:13px}.clear{padding:10px 12px}.intro-note{font-size:14px}}
.reading-shelf[hidden] { display:none!important; }
.shelf-fab { position:fixed; right:22px; bottom:22px; z-index:40; width:60px; height:60px; border-radius:50%; border:0; background:var(--navy); color:var(--gold); font:600 11px/1.1 system-ui,sans-serif; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; cursor:pointer; box-shadow:0 8px 24px rgba(0,25,48,.28); }
.shelf-fab:hover,.shelf-fab:focus-visible { background:#002347; }
.shelf-fab svg { width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:2; }
.shelf-fab .shelf-count { position:absolute; top:-4px; right:-4px; min-width:20px; height:20px; padding:0 5px; border-radius:12px; background:var(--gold); color:var(--navy); font:700 11px/20px system-ui,sans-serif; text-align:center; }
.shelf-drawer { position:fixed; right:0; top:0; bottom:0; width:min(380px,92vw); z-index:50; background:white; box-shadow:-10px 0 32px rgba(0,25,48,.22); transform:translateX(100%); transition:transform .22s ease-out; display:flex; flex-direction:column; visibility:hidden; pointer-events:none; }
.shelf-drawer[data-open="true"] { transform:translateX(0); visibility:visible; pointer-events:auto; }
.shelf-drawer-header { padding:18px 20px; border-bottom:1px solid var(--rule); display:flex; align-items:center; justify-content:space-between; gap:12px; }
.shelf-drawer-header h2 { font:600 22px/1.3 Playfair,Georgia,serif; color:var(--navy); margin:0; }
.shelf-close { width:36px; height:36px; border:0; border-radius:50%; background:transparent; color:var(--navy); font:600 22px/1 system-ui,sans-serif; cursor:pointer; }
.shelf-close:hover { background:var(--cream); }
.shelf-hint { color:var(--muted); font:14px/1.5 system-ui,sans-serif; margin:0; padding:14px 20px; }
#shelfBooks { flex:1; overflow-y:auto; padding:0 20px 18px; }
.shelf-item { padding:16px 0; border-top:1px solid var(--rule); }
.shelf-item:first-child { border-top:0; }
.shelf-item h3 { font:600 17px/1.3 Playfair,Georgia,serif; margin:0 0 5px; }
.shelf-item p { color:var(--muted); font:13px/1.5 system-ui,sans-serif; margin:0 0 10px; }
.shelf-actions { display:flex; gap:8px; flex-wrap:wrap; }
.shelf-actions a,.shelf-actions button { font:600 12px/1.4 system-ui,sans-serif; padding:8px 11px; min-height:38px; border:1px solid #a0afbf; border-radius:4px; background:white; color:var(--navy); text-decoration:none; cursor:pointer; }
.shelf-backdrop { position:fixed; inset:0; z-index:45; background:rgba(0,25,48,.35); opacity:0; pointer-events:none; transition:opacity .18s; }
.shelf-backdrop[data-open="true"] { opacity:1; pointer-events:auto; }
@media(max-width:430px) { .shelf-fab { width:54px; height:54px; right:16px; bottom:16px; font-size:10px; } }
