.zscore-library,.zscore-detail{box-sizing:border-box;max-width:var(--zhou-container,1240px);margin:0 auto;padding:clamp(48px,7vw,92px) 24px;color:var(--zhou-ink,#201914)}
.zscore-library *,.zscore-detail *{box-sizing:border-box}.zscore-library__head{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:32px;padding-bottom:28px;border-bottom:1px solid var(--zhou-border,#d5c5af)}
.zscore-library__head p{margin:0;color:var(--zhou-primary,#9d4828);font-size:11px;font-weight:800;letter-spacing:.18em}.zscore-library__head h2{margin:8px 0 0;font-family:var(--zhou-heading,serif);font-size:clamp(44px,6vw,72px);line-height:1.05}.zscore-library__head>span{max-width:480px;color:var(--zhou-muted,#6d5b50);line-height:1.75}
.zscore-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:28px}.zscore-toolbar input{width:min(360px,70vw);min-height:44px;padding:10px 14px;border:1px solid var(--zhou-border,#d5c5af);border-radius:var(--zhou-radius,3px);background:var(--zhou-paper,#fffaf2)}.zscore-toolbar>div{display:flex;gap:7px}.zscore-toolbar button{min-height:40px;padding:8px 15px;border:1px solid var(--zhou-border,#d5c5af);border-radius:var(--zhou-radius,3px);background:var(--zhou-paper,#fffaf2);cursor:pointer}.zscore-toolbar button[aria-pressed=true]{border-color:var(--zhou-ink,#201914);background:var(--zhou-ink,#201914);color:#fff}
.zscore-grid{display:grid;grid-template-columns:repeat(var(--zhou-score-columns,3),minmax(0,1fr));gap:22px}.zscore-card{display:flex;min-width:0;flex-direction:column;border:1px solid var(--zhou-border,#d5c5af);border-radius:var(--zhou-radius,3px);background:var(--zhou-paper,#fffaf2);box-shadow:var(--zhou-shadow,none);overflow:hidden}.zscore-card[hidden]{display:none}.zscore-card__cover{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--zhou-surface,#f4ede1)}.zscore-card__cover img{width:100%;height:100%;display:block;object-fit:cover}.zscore-card__body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:23px}.zscore-card__meta{width:100%;display:flex;justify-content:space-between;gap:15px;color:var(--zhou-primary,#9d4828);font-size:12px;font-weight:700}.zscore-card h2{margin:14px 0 7px;font-family:var(--zhou-heading,serif);font-size:25px;line-height:1.3}.zscore-card h2 a{color:var(--zhou-ink,#201914);text-decoration:none}.zscore-card p{margin:0 0 7px;color:var(--zhou-muted,#6d5b50)}.zscore-card small{color:var(--zhou-muted,#6d5b50)}
.zscore-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin-top:20px;padding:10px 17px;border:1px solid var(--zhou-primary,#9d4828);border-radius:var(--zhou-radius,3px);background:var(--zhou-primary,#9d4828);color:#fff!important;text-decoration:none;font-weight:700}.zscore-card .zscore-button{margin-top:auto;padding-top:10px}.zscore-button.is-secondary{margin-left:8px;background:transparent;color:var(--zhou-ink,#201914)!important;border-color:var(--zhou-ink,#201914)}
.zscore-empty,.zscore-no-results{grid-column:1/-1;padding:38px;border:1px dashed var(--zhou-border,#d5c5af);color:var(--zhou-muted,#6d5b50);text-align:center}.zscore-detail{padding-top:26px}.zscore-detail__facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:10px 0 28px;border:1px solid var(--zhou-border,#d5c5af)}.zscore-detail__facts>span{display:grid;gap:5px;padding:18px 20px;border-right:1px solid var(--zhou-border,#d5c5af)}.zscore-detail__facts>span:last-child{border-right:0}.zscore-detail__facts small{color:var(--zhou-muted,#6d5b50)}.zscore-access-note{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:14px;padding:14px 18px;background:var(--zhou-surface,#f4ede1)}.zscore-access-note span{color:var(--zhou-muted,#6d5b50)}.zscore-viewer iframe{width:100%;height:min(82vh,1000px);display:block;border:1px solid var(--zhou-border,#d5c5af);background:#3d3936}.zscore-viewer>div{display:flex;gap:8px;flex-wrap:wrap}.zscore-locked{max-width:720px;margin:34px auto;padding:40px;border:1px solid var(--zhou-border,#d5c5af);border-radius:var(--zhou-radius,3px);background:var(--zhou-surface,#f4ede1);text-align:center}.zscore-locked>span{color:var(--zhou-primary,#9d4828);font-size:12px;font-weight:800;letter-spacing:.12em}.zscore-locked h2{margin:12px 0;font-family:var(--zhou-heading,serif);font-size:40px}.zscore-locked form{margin-top:20px}
.zscore-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 38px}.zscore-mini-grid article{padding:20px;border:1px solid var(--zhou-border,#d5c5af);background:var(--zhou-paper,#fffaf2)}.zscore-mini-grid h3{margin:8px 0 16px}.zscore-mini-grid a{color:var(--zhou-primary,#9d4828);font-weight:700}
.zscore-library a:focus-visible,.zscore-detail a:focus-visible,.zscore-toolbar button:focus-visible,.zscore-toolbar input:focus-visible{outline:3px solid color-mix(in srgb,var(--zhou-primary,#9d4828) 35%,transparent);outline-offset:3px}
@media(min-width:1001px){.zv-dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.zscore-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zscore-library__head{align-items:flex-start;flex-direction:column;gap:14px}.zscore-detail__facts{grid-template-columns:repeat(2,1fr)}.zscore-detail__facts>span:nth-child(2){border-right:0}.zscore-detail__facts>span:nth-child(-n+2){border-bottom:1px solid var(--zhou-border,#d5c5af)}.zscore-mini-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.zscore-library,.zscore-detail{padding:48px 18px 66px}.zscore-toolbar{align-items:stretch;flex-direction:column}.zscore-toolbar input{width:100%}.zscore-toolbar>div{display:grid;grid-template-columns:repeat(3,1fr)}.zscore-grid,.zscore-mini-grid{grid-template-columns:1fr}.zscore-detail__facts{grid-template-columns:1fr}.zscore-detail__facts>span{border-right:0;border-bottom:1px solid var(--zhou-border,#d5c5af)}.zscore-detail__facts>span:last-child{border-bottom:0}.zscore-access-note{align-items:flex-start;flex-direction:column}.zscore-viewer iframe{height:62vh}.zscore-viewer .zscore-button{width:100%;margin-left:0}.zscore-locked{padding:30px 20px}}
