.work-preview{box-sizing:border-box;width:min(1180px,96vw);max-width:96vw;max-height:94dvh;padding:20px;border:1px solid var(--site-border);border-radius:12px;background:var(--site-canvas,#faf9f5);color:var(--site-ink,#222);overflow:auto}
.work-preview::backdrop{background:rgb(0 0 0 / .78)}
.preview-toolbar,.preview-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.preview-toolbar{margin-bottom:12px}.preview-art{height:58dvh;display:grid;place-items:center;touch-action:pan-y}.preview-art img{width:100%;height:100%;object-fit:contain;min-height:0}.preview-art [hidden]{display:none}.preview-caption{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:16px}.preview-caption h2{font-size:24px;margin:0}.preview-caption p{margin:6px 0;max-width:650px;white-space:pre-line}.preview-actions{flex-wrap:wrap;justify-content:flex-end}.work-preview button,.preview-actions a{box-sizing:border-box;min-height:44px;min-width:44px;padding:10px 14px;border:1px solid var(--site-border,#aaa);border-radius:6px;background:var(--site-panel,#fff);color:inherit;text-decoration:none;cursor:pointer}.work-preview button:disabled{opacity:.35;cursor:default}.work-preview :focus-visible{outline:3px solid var(--site-focus,#927749);outline-offset:3px}
@media(max-width:700px){.work-preview{padding:12px}.preview-art{height:48dvh}.preview-caption{display:block}.preview-caption h2{font-size:22px}.preview-actions{justify-content:flex-start;margin-top:16px;gap:8px}.preview-caption p{font-size:16px}}
/* Let the artwork breathe; keep controls in a separate reading column. */
.work-preview[open]{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;width:min(1320px,96vw)}
.preview-toolbar{grid-column:1/-1;margin:0}.preview-art{height:70dvh}.preview-caption{display:flex;flex-direction:column;align-items:stretch;justify-content:center;margin:0;min-width:0}.preview-actions{justify-content:flex-start}.preview-caption audio{width:100%;margin-top:14px}.preview-listen-next{display:flex;gap:8px;align-items:center;font-size:15px;margin:12px 0}.work-preview [hidden]{display:none!important}.work-preview [data-preview-save-status]{grid-column:1/-1;margin:0}.preview-caption [data-preview-story]{line-height:1.8}.preview-caption [data-preview-creator]{color:var(--site-muted)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.discovery-art img,.art-stage img{transition:transform .25s ease}.discovery-art:hover img,.art-stage:hover img{transform:scale(1.025)}.discovery-art,.art-stage{overflow:hidden}}
@media(prefers-reduced-motion:no-preference){.work-preview[open]{animation:preview-enter .18s ease-out}@keyframes preview-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}
@media(max-width:700px){.work-preview[open]{display:block;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;padding:calc(12px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom))}.preview-toolbar{position:sticky;top:0;z-index:1;background:var(--site-canvas);padding-bottom:8px}.preview-art{height:50dvh}.preview-caption{margin-top:14px}.preview-actions{gap:8px}.preview-actions a{font-size:15px}.preview-caption [data-preview-story]{font-size:16px}}
.discovery-art,.art-stage{position:relative}.preview-card-quote{display:none}
@media(hover:hover){.preview-card-quote{display:block;position:absolute;inset:auto 0 0;padding:36px 18px 18px;background:linear-gradient(transparent,rgba(0,0,0,.8));color:#fff;font-size:15px;line-height:1.7;opacity:0;pointer-events:none}.discovery-art:hover .preview-card-quote,.discovery-art:focus-visible .preview-card-quote,.art-stage:hover .preview-card-quote,.art-stage:focus-visible .preview-card-quote{opacity:1}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.preview-card-quote{transition:opacity .2s ease}}
.work-preview .preview-caption .preview-listen-next{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;min-height:44px;text-align:left;gap:10px}.work-preview .preview-listen-next input{width:18px;height:18px;min-width:18px;margin:0;flex:0 0 18px}
