#literature:not(.literature-ready) .authors{display:none}
#literature [hidden]{display:none!important}
.literature-controls{padding:16px 20px;background:#fffaf0;border:1px solid #d7cab3;font:12px/1.45 system-ui,sans-serif}
.literature-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.literature-controls label{display:block;color:#51493f}
.literature-controls input,.literature-controls select{box-sizing:border-box;width:100%;margin-top:5px;padding:9px 10px;border:1px solid #b9ab94;background:#fffdf7;color:#302a23;border-radius:3px;font:14px system-ui;min-width:0;min-height:40px}
.literature-controls button{padding:9px 14px;background:#263a32;border:1px solid #263a32;color:#fffaf0;font:13px system-ui;cursor:pointer;border-radius:3px;min-height:40px}
.literature-controls input:focus-visible,.literature-controls select:focus-visible,.literature-controls button:focus-visible{outline:2px solid #927343;outline-offset:3px}
#literature-search-form{margin-top:12px}.literature-query-row{display:flex;align-items:stretch;gap:8px;margin-top:5px}.literature-query-row input{margin-top:0}.literature-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.literature-actions button{background:transparent;color:#263a32}
.literature-coverage{margin:8px 0 0;color:#837966;font-size:11px}#literature-status{margin:10px 0 0;color:#756b5b;font-size:12px}
.literature-collage{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:22px 12px;padding:36px 12px 42px;margin-top:12px;isolation:isolate}
.literature-portrait{position:relative;display:block;aspect-ratio:3/4;min-width:0;align-self:center;background:#d4c7ad;padding:4px;box-shadow:0 3px 7px #30271930,0 12px 20px #30271914;transform:translateY(var(--shift)) rotate(var(--tilt)) scale(var(--scale));transition:transform .22s ease,box-shadow .22s ease;z-index:1;border:1px solid #fff8e4;text-decoration:none}
.literature-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 25%;filter:sepia(.18) saturate(.7);transition:filter .22s ease}
.literature-portrait span{position:absolute;left:50%;bottom:-10px;transform:translate(-50%,100%);width:max-content;max-width:190px;padding:8px 12px;background:#263a32;color:#fffaf0;font:12px/1.4 system-ui,sans-serif;text-align:center;box-shadow:0 4px 12px #263a3220;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease}
.literature-portrait:hover,.literature-portrait:focus-visible{transform:translateY(-7px) rotate(0) scale(1.15);z-index:5;box-shadow:0 8px 24px #30271940}
.literature-portrait:hover img,.literature-portrait:focus-visible img{filter:none}
.literature-portrait:hover span,.literature-portrait:focus-visible span{opacity:1;visibility:visible}
.literature-portrait:focus-visible{outline:2px solid #927343;outline-offset:5px}
@media(max-width:1100px){.literature-collage{grid-template-columns:repeat(9,minmax(0,1fr))}}
@media(max-width:800px){.literature-collage{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px 12px}}
@media(max-width:480px){.literature-collage{grid-template-columns:repeat(4,minmax(0,1fr));padding:28px 8px;gap:18px 10px}.literature-portrait span{max-width:130px;font-size:11px}.literature-controls input,.literature-controls select{font-size:16px}}
@media(prefers-reduced-motion:reduce){.literature-portrait,.literature-portrait img,.literature-portrait span{transition:none}}
.literature-result{padding:18px 0;border-top:1px solid #d7cab3}.literature-result a{color:#263a32;font:18px/1.5 Georgia,serif}.literature-result small{display:block;margin-top:5px;color:#776b5a}.literature-result p{margin:8px 0 0;line-height:1.7}
@media(max-width:700px){.literature-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.literature-fields label:first-child{grid-column:1/-1}.literature-controls{padding:14px}.literature-query-row input{flex:1;width:0}.literature-query-row button{flex:none}}
@media(max-width:480px){.literature-portrait:nth-child(4n+1) span{left:0;transform:translateY(100%)}.literature-portrait:nth-child(4n) span{left:auto;right:0;transform:translateY(100%)}}
