.library-head{padding:30px 32px 16px;display:flex;justify-content:space-between;gap:30px}.library-head h1{font-size:38px}.library-head p{font-size:14px}.counts{display:flex;gap:28px;align-items:center}.counts strong{display:block;font-size:28px;font-weight:450;color:var(--accent)}.counts span{font-size:12px;color:var(--muted)}.filters{display:flex;gap:16px;padding:8px 32px 20px;border-bottom:1px solid var(--border)}.filters label{display:grid;gap:7px;font-size:14px}.filters label:first-child{flex:1}.filters input{min-width:100px;width:100%;font:inherit;font-size:14px;padding:10px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:5px}#status{padding:0 32px;color:var(--muted);font-size:14px}.library{display:grid;grid-template-columns:300px minmax(330px,1fr) minmax(260px,420px);border-top:1px solid var(--border)}#list{max-height:75vh;overflow:auto;border-right:1px solid var(--border);padding:12px}#list button{display:block;width:100%;text-align:left;margin-bottom:5px;background:transparent;border-color:transparent;padding:12px}#list button.selected{background:#2a3d38;border-color:#58774e}#list button span{display:block;font-size:12px;color:var(--muted);margin-top:4px}#detail{padding:28px;min-width:0}#detail h2{font:34px Georgia,serif;margin:0 0 12px}#detail h3{margin:24px 0 6px}#detail p{font-size:14px;white-space:pre-wrap}.tags{font-size:14px;color:var(--accent);line-height:1.8}.facts{display:grid;grid-template-columns:1fr 1fr;font-size:14px;gap:8px}.facts dt{color:var(--muted)}.facts dd{margin:0}.review-note{padding:12px;background:#31332a;border-left:3px solid #d9c077;color:#e7dcc1}.card-preview{display:block;width:100%;height:auto;max-height:460px;object-fit:contain;background:#fff;border-radius:5px;margin:15px 0}#card-panel{border-left:1px solid var(--border);padding:24px;background:#142024}#card-panel p{font-size:14px;color:var(--muted)}#card-panel a{display:block;margin:12px 0;font-size:14px}.empty-card{padding:45px 16px;border:1px dashed var(--border);text-align:center;color:var(--muted);margin:20px 0}.stats{grid-template-columns:repeat(3,1fr)}.source-links a{display:block;font-size:14px;margin:8px 0}@media(max-width:1050px){.library{grid-template-columns:250px 1fr}#card-panel{grid-column:2;border-top:1px solid var(--border)}.counts{gap:12px}.filters{flex-wrap:wrap}}@media(max-width:650px){.library-head{display:block;padding:22px}.counts{margin-top:18px}.filters{padding:16px;display:grid;grid-template-columns:1fr 1fr}.filters label:first-child{grid-column:1/-1}.library{display:flex;flex-direction:column}#list{max-height:250px}#detail,#card-panel{padding:22px}header .brand span{display:none}.library-head h1{font-size:30px}.filters select{max-width:100%}}
/* Cards are the primary reading surface; structured data is secondary. */
.library{grid-template-columns:280px minmax(0,1fr);align-items:start}
#list{grid-column:1;grid-row:1/3;position:sticky;top:0;max-height:90vh}
#card-panel{grid-column:2;grid-row:1;border-left:0;padding:24px 32px;text-align:center;min-width:0}
#card-panel h2{font:30px Georgia,serif;margin:4px 0}
#card-panel .card-edition{margin:8px 0 14px}
#card-panel .card-preview{max-height:none;width:100%;margin:0;background:transparent;border-radius:0}
.enlarge-card{display:block;max-width:850px;width:100%;margin:12px auto;padding:0;border:0;background:transparent;cursor:zoom-in}
.enlarge-card:hover{background:transparent}
.card-hint,.card-provenance{margin:6px 0!important;font-size:12px!important}
#structured{grid-column:2;grid-row:2;border-top:1px solid var(--border);margin:0 32px 30px}
#structured summary{cursor:pointer;padding:20px 0;color:var(--muted);font-size:14px}
#structured #detail{padding:0 0 24px}
#card-dialog{width:min(1100px,96vw);max-width:1100px;max-height:95vh}
#close-card{position:sticky;top:0;float:right;z-index:1}
#large-card img{display:block;width:100%;height:auto;margin:20px 0}
#card-panel .empty-card{min-height:280px;display:grid;place-items:center}
@media(max-width:1050px){#card-panel{grid-column:2;grid-row:1;border-top:0}.library{grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:650px){.library{display:flex}#list{position:static;width:100%;max-height:200px}#card-panel{width:100%;padding:20px 12px}#structured{margin:0 20px 24px}.enlarge-card{max-width:100%}}
.card-side-controls{display:flex;justify-content:center;gap:10px;margin:12px 0}
.card-side-controls button[aria-pressed=true]{background:var(--accent);color:var(--bg)}
