/* Home: the Cortex card and the library card share one row; each takes the full width when it stands alone or on small screens. */
.home-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.home-duo>:only-child{grid-column:1/-1}
.home-duo>.cx-home{margin-block:0}
@media(max-width:1000px){.home-duo{grid-template-columns:minmax(0,1fr)}}
/* Beside the library the Cortex card fills the shared height and keeps its two actions at opposite ends of the row. */
@media(min-width:1001px){
 .home-duo>.cx-home:not(:only-child){display:flex;flex-direction:column}
 .home-duo>.cx-home:not(:only-child) .cx-home-body{flex:1;grid-template-columns:minmax(0,1fr);align-content:center}
 .home-duo>.cx-home:not(:only-child) .cx-home-actions{justify-content:space-between}
}

.lib-home,.lib-home *{box-sizing:border-box}
.lib-home{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;min-width:0;padding:22px 32px;border:1px solid #c9a3fa55;border-radius:28px;color:#e9defa;background:#150f20;box-shadow:inset 0 1px 1px #efdbff55,inset 0 -1px 1px #9b6cd133,0 18px 48px #06030c40}
.lib-home::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(100deg,#130e20f2 0%,#181023c9 42%,#21102a8c 100%),linear-gradient(#0000 55%,#0d0816e6),var(--lib-scene,none) center/cover no-repeat}
.lib-home a{color:inherit;text-decoration:none;transition:color .18s ease,background-color .18s ease,border-color .18s ease}
.lib-home :focus-visible{outline:2px solid #e1cbff;outline-offset:5px}
.lib-home-top{display:flex;justify-content:space-between;gap:16px;font:11px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em;color:#cda7ff}
.lib-home-top span:last-child{font-size:9px;letter-spacing:.08em;color:#cbb7e4;white-space:nowrap}
.lib-home-top span:last-child::first-letter{color:#6fe38a}
.lib-home-body{flex:1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 24px;margin:12px 0}
.lib-home h2{margin:0 0 10px;font-size:clamp(24px,2.2vw,32px);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:#fff}
.lib-home h2 a:hover{color:#e1c6ff}
.lib-home-counts{display:grid;gap:6px;margin:0;padding:0;list-style:none;font:13px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#e2d6f2}
.lib-home-counts li{display:flex;align-items:center;gap:10px}
.lib-home-counts svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
/* Covers stand beside the title, overlap around the middle one and shrink and darken as they move away from it. */
.lib-home-fan{--h:clamp(96px,8.2vw,124px);display:flex;justify-content:center;align-items:flex-end;min-width:0}
.lib-home-fan span{order:var(--i);flex:none;position:relative;z-index:calc(10 - var(--d));height:calc(var(--h)*(1 - .1*var(--d)));aspect-ratio:2/3;margin-inline:calc(var(--h)*-.07);border-radius:4px;overflow:hidden;background:#241a33;box-shadow:0 10px 24px #000b,0 0 0 1px #ffffff1f;filter:brightness(calc(1 - .16*var(--d)))}
.lib-home-fan img{display:block;width:100%;height:100%;object-fit:cover}
.lib-home-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;margin-top:auto}
.lib-home-last{display:flex;align-items:center;gap:14px;min-width:0;flex:1 1 180px}
.lib-home-last img{flex:none;width:30px;height:44px;object-fit:cover;border-radius:3px;box-shadow:0 4px 12px #0009}
.lib-home-last span{min-width:0;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.lib-home-last small{display:block;font-size:10px;color:#b9a6d0}
.lib-home-last strong{display:block;font-weight:500;color:#f1e8ff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lib-home-last:hover strong{color:#fff;text-decoration:underline;text-underline-offset:4px}
.lib-home-link{display:inline-flex;align-items:center;gap:14px;min-height:44px;padding:10px 20px;border:1px solid #d6b5ff4a;border-radius:999px;background:linear-gradient(140deg,#d0a6ff24,#a56cdb0b);box-shadow:inset 0 1px 0 #efdbff30,0 5px 18px #08041124;font-size:14px;color:#e6d4ff;white-space:nowrap}
.lib-home-link:hover{background:#c49af52e;border-color:#d4afff88;color:#fff}
@media(min-width:1001px){.lib-home-fan span:nth-child(n+6){display:none}}
@media(max-width:1000px){.lib-home{padding:20px 24px;border-radius:24px}.lib-home-fan{--h:clamp(110px,17vw,150px)}}
@media(max-width:600px){.lib-home-body{grid-template-columns:minmax(0,1fr)}.lib-home-counts{display:flex;flex-wrap:wrap;gap:6px 22px}.lib-home-fan{--h:clamp(110px,30vw,150px);margin-top:6px}.lib-home-fan span:nth-child(n+6){display:none}}
@media(max-width:480px){.lib-home{padding:18px 22px}.lib-home-link{flex:1 1 100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.lib-home a{transition:none}}
