.zaccomp-library,.zaccomp-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)}
.zaccomp-library *,.zaccomp-detail *{box-sizing:border-box}.zaccomp-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)}
.zaccomp-library__head p{margin:0;color:var(--zhou-primary,#9d4828);font-size:11px;font-weight:800;letter-spacing:.18em}.zaccomp-library__head h2{margin:8px 0 0;font-family:var(--zhou-heading,serif);font-size:clamp(44px,6vw,72px);line-height:1.05}.zaccomp-library__head>span{max-width:500px;color:var(--zhou-muted,#6d5b50);line-height:1.75}
.zaccomp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:28px}.zaccomp-toolbar input{width:min(380px,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)}.zaccomp-toolbar>div{display:flex;gap:7px}.zaccomp-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}.zaccomp-toolbar button[aria-pressed=true]{border-color:var(--zhou-ink,#201914);background:var(--zhou-ink,#201914);color:#fff}
.zaccomp-grid{display:grid;grid-template-columns:repeat(var(--zhou-accompaniment-columns,3),minmax(0,1fr));gap:22px}.zaccomp-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}.zaccomp-card[hidden]{display:none}.zaccomp-card__cover{display:grid;aspect-ratio:16/10;place-items:center;overflow:hidden;background:var(--zhou-surface,#f4ede1);text-decoration:none}.zaccomp-card__cover img{width:100%;height:100%;display:block;object-fit:cover}.zaccomp-card__cover.is-empty span{color:var(--zhou-primary,#9d4828);font-family:var(--zhou-heading,serif);font-size:22px;letter-spacing:.08em}.zaccomp-card__body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:23px}.zaccomp-card__meta{width:100%;display:flex;justify-content:space-between;gap:15px;color:var(--zhou-primary,#9d4828);font-size:12px;font-weight:700}.zaccomp-card h2{margin:14px 0 7px;font-family:var(--zhou-heading,serif);font-size:25px;line-height:1.3}.zaccomp-card h2 a{color:var(--zhou-ink,#201914);text-decoration:none}.zaccomp-card p{margin:0 0 7px;color:var(--zhou-muted,#6d5b50)}.zaccomp-card small{color:var(--zhou-muted,#6d5b50)}
.zaccomp-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}.zaccomp-card .zaccomp-button{margin-top:auto;padding-top:10px}.zaccomp-button.is-secondary{background:transparent;color:var(--zhou-ink,#201914)!important;border-color:var(--zhou-ink,#201914)}
.zaccomp-empty,.zaccomp-no-results{grid-column:1/-1;padding:38px;border:1px dashed var(--zhou-border,#d5c5af);color:var(--zhou-muted,#6d5b50);text-align:center}.zaccomp-detail{padding-top:26px}.zaccomp-detail__facts{display:flex;flex-wrap:wrap;margin:10px 0 28px;border:1px solid var(--zhou-border,#d5c5af)}.zaccomp-detail__facts>span{min-width:150px;display:grid;flex:1;gap:5px;padding:18px 20px;border-right:1px solid var(--zhou-border,#d5c5af)}.zaccomp-detail__facts>span:last-child{border-right:0}.zaccomp-detail__facts small{color:var(--zhou-muted,#6d5b50)}.zaccomp-access-note{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:14px;padding:14px 18px;background:var(--zhou-surface,#f4ede1)}.zaccomp-access-note span{color:var(--zhou-muted,#6d5b50)}.zaccomp-player{padding:clamp(22px,4vw,42px);border:1px solid var(--zhou-border,#d5c5af);background:var(--zhou-paper,#fffaf2)}.zaccomp-player audio{width:100%;display:block}.zaccomp-player>div{display:flex;gap:8px;flex-wrap:wrap}.zaccomp-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}.zaccomp-locked>span{color:var(--zhou-primary,#9d4828);font-size:12px;font-weight:800;letter-spacing:.12em}.zaccomp-locked h2{margin:12px 0;font-family:var(--zhou-heading,serif);font-size:40px}.zaccomp-locked form{margin-top:20px}.zaccomp-credit{margin:20px 0 0;color:var(--zhou-muted,#6d5b50);font-size:14px}
.zaccomp-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 38px}.zaccomp-mini-grid article{padding:20px;border:1px solid var(--zhou-border,#d5c5af);background:var(--zhou-paper,#fffaf2)}.zaccomp-mini-grid h3{margin:8px 0 16px}.zaccomp-mini-grid a{color:var(--zhou-primary,#9d4828);font-weight:700}
.zaccomp-library a:focus-visible,.zaccomp-detail a:focus-visible,.zaccomp-toolbar button:focus-visible,.zaccomp-toolbar input:focus-visible{outline:3px solid color-mix(in srgb,var(--zhou-primary,#9d4828) 35%,transparent);outline-offset:3px}
@media(max-width:900px){.zaccomp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zaccomp-library__head{align-items:flex-start;flex-direction:column;gap:14px}.zaccomp-detail__facts>span{min-width:50%}.zaccomp-mini-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.zaccomp-library,.zaccomp-detail{padding:48px 18px 66px}.zaccomp-toolbar{align-items:stretch;flex-direction:column}.zaccomp-toolbar input{width:100%}.zaccomp-toolbar>div{display:grid;grid-template-columns:repeat(3,1fr)}.zaccomp-grid,.zaccomp-mini-grid{grid-template-columns:1fr}.zaccomp-detail__facts{display:grid;grid-template-columns:1fr}.zaccomp-detail__facts>span{min-width:0;border-right:0;border-bottom:1px solid var(--zhou-border,#d5c5af)}.zaccomp-detail__facts>span:last-child{border-bottom:0}.zaccomp-access-note{align-items:flex-start;flex-direction:column}.zaccomp-player{padding:18px}.zaccomp-player .zaccomp-button{width:100%}.zaccomp-locked{padding:30px 20px}}
