:root{color-scheme:light;--ink:#252635;--muted:#656777;--line:#e1e2e8;--accent:#67485e}*{box-sizing:border-box}body{margin:0;background:#fafafd;color:var(--ink);font-family:Arial,sans-serif;font-size:16px}header,main,footer{max-width:1440px;margin:auto;padding:28px 48px}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}a{color:inherit;text-decoration:none}.brand{font:32px Georgia;display:flex;align-items:center;gap:20px}.brand span{font:14px Arial;letter-spacing:.08em;text-transform:uppercase;border-left:1px solid #aaa;padding-left:20px}.owner{font:16px Georgia}h1{font:normal 44px/1.15 Georgia;margin:16px 0}h2{font:normal 24px/1.25 Georgia}.heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:28px}.heading p{color:var(--muted)}.controls{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--line)}label{display:block;font-size:14px;color:var(--muted);margin-bottom:8px}input,select,button{font:inherit;color:var(--ink)}input,select{width:100%;height:48px;border:1px solid #d2d3dc;background:white;padding:0 14px;border-radius:6px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:2px}button{border:1px solid var(--line);background:white;border-radius:5px;padding:10px 16px;cursor:pointer}button:hover{border-color:var(--accent)}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin:22px 0}.toolbar p{color:var(--muted);margin:0}.views{display:flex;gap:6px}.views button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:32px 26px}.card{display:block;min-width:0}.cover{aspect-ratio:2/3;display:flex;flex-direction:column;justify-content:space-between;padding:24px;background:#eeedf3;border:1px solid #dcdbe5;color:#454458;overflow:hidden}.cover .small{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:#727184}.cover .ctitle{font:normal 25px/1.2 Georgia;overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical}.cover .cauthor{font-size:14px;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card:nth-child(3n+2) .cover{background:#e9edf4;color:#394459}.card:nth-child(3n) .cover{background:#f1eaf0;color:#63495f}.card:hover .cover{border-color:#8d7a91}.card h2{font-size:20px;margin:14px 0 7px}.author{font-size:14px;color:var(--muted);line-height:1.5;margin:0 0 10px}.badge{display:inline-flex;align-items:center;gap:7px;font-size:12px;letter-spacing:.04em}.dot{width:9px;height:9px;display:inline-block;border-radius:50%;border:1px solid #0002;flex-shrink:0}.list .card{display:grid;grid-template-columns:70px minmax(0,2fr) minmax(0,1fr);gap:24px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.list .cover{padding:7px}.list .cover .ctitle{font-size:11px}.list .cover .cauthor,.list .cover .small{display:none}.list .card h2{margin-top:0}.publisher{font-size:14px;color:var(--muted);line-height:1.5}.grid .publisher{display:none}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin:36px 0}.pagination button:disabled{opacity:.4;cursor:default}.empty{padding:60px 0;text-align:center}.detail{display:grid;grid-template-columns:300px 1fr;gap:64px;margin-top:32px}.detail .cover .ctitle{font-size:34px}.detail h1{margin-top:10px}.detail .author{font-size:20px}.back{display:inline-block;border-bottom:1px solid #aaa;padding:5px 0;font-size:14px}dl{display:grid;grid-template-columns:160px 1fr;border-top:1px solid var(--line);margin-top:30px}dt,dd{margin:0;padding:14px 0;border-bottom:1px solid var(--line);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}dt{font-size:14px;color:var(--muted)}dd{padding-left:20px}details{margin:35px 0;border-top:1px solid var(--line);padding-top:20px}summary{cursor:pointer;font-size:14px}.legend{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-top:24px}.legend p{font-size:14px;color:var(--muted);line-height:1.5;margin:7px 0}footer{font-size:12px;color:var(--muted);border-top:1px solid var(--line);margin-top:40px}@media(min-width:1250px){.grid{grid-template-columns:repeat(6,minmax(0,1fr))}.cover{padding:20px}.cover .ctitle{font-size:23px}}@media(max-width:1000px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}.owner{display:none}.detail{gap:35px}.legend{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){header,main,footer{padding:22px 20px}.brand{font-size:26px;gap:12px}.brand span{font-size:12px;padding-left:12px}h1{font-size:34px}.heading{display:block;margin-bottom:22px}.heading p{font-size:14px}.controls{grid-template-columns:1fr 1fr;gap:12px}.controls>div:first-child{grid-column:1/-1}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.cover{padding:17px}.cover .ctitle{font-size:22px}.cover .cauthor{font-size:12px}.card h2{font-size:19px}.toolbar{gap:12px;align-items:flex-start}.toolbar p{font-size:14px;padding-top:10px}.views button{padding:10px 12px}.list .card{grid-template-columns:55px minmax(0,1fr);gap:16px}.list .publisher{grid-column:2}.detail{grid-template-columns:1fr;gap:28px}.detail>.cover{width:220px;justify-self:center}.detail h1{font-size:36px}dl{grid-template-columns:110px 1fr}.legend{grid-template-columns:1fr}dd{padding-left:12px}}

.cover-slot{position:relative;aspect-ratio:2/3;overflow:hidden;background:#eeedf3}.cover-slot>.cover{height:100%;width:100%}.cover-slot>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#eeedf3}.cover-slot.has-cover>.cover{visibility:hidden}.card:nth-child(3n+2) .cover-slot .cover{background:#e9edf4;color:#394459}.card:nth-child(3n) .cover-slot .cover{background:#f1eaf0;color:#63495f}.list .cover-slot{width:70px}.detail>.cover-slot{width:300px;align-self:start}.cover-credit{font-size:12px;line-height:1.5;color:var(--muted);margin-top:24px}.cover-credit a{text-decoration:underline}@media(max-width:700px){.list .cover-slot{width:55px}.detail>.cover-slot{width:220px;justify-self:center}}
