body.private-view .ps-app .ps-library-doc{grid-template-columns:minmax(220px,1fr) 380px auto;align-items:center;gap:18px;min-height:132px}
.ps-library-doc>div:first-child{min-width:0}.ps-library-doc p{-webkit-line-clamp:2}.ps-library-media{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0;align-items:start}.ps-media-slot{position:relative;box-sizing:border-box;min-width:0;width:100%;aspect-ratio:16 / 9;min-height:0;border:1px solid var(--ps-line,#dce3ed);background:var(--ps-paper,#fff);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:22px 8px 8px;border-radius:4px;overflow:hidden}.ps-media-label{position:absolute;left:8px;top:5px;color:var(--ps-muted);font-size:11px}.ps-app .ps-media-generate,.ps-app .ps-media-open{display:flex;align-items:center;justify-content:center;gap:5px;padding:4px 8px;min-height:30px;background:transparent;border:0;color:var(--primary,#347cf1);font-size:13px;line-height:1.5;text-decoration:none}.ps-media-slot small{font-size:10px;text-align:center;line-height:1.4}.ps-media-open img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.25}.ps-media-open span{position:relative}.ps-media-progress{font-size:13px}.ps-media-download{position:relative;font-size:10px;color:var(--ps-muted)}.ps-media-preview{width:min(1000px,94vw);height:min(740px,90dvh);padding:0;border:1px solid #dce3ed;border-radius:3px}.ps-media-preview::backdrop{background:#172a3c88}.ps-media-preview header{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid #dce3ed}.ps-media-preview header strong{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ps-media-preview video,.ps-media-preview iframe{display:block;width:100%;height:calc(100% - 55px);border:0;background:white}
@media(max-width:1350px){body.private-view .ps-app .ps-library-doc{grid-template-columns:minmax(200px,1fr) 300px;gap:12px}.ps-library-doc .ps-library-actions{grid-column:1/-1;justify-content:flex-end}.ps-media-slot{min-height:0}}
@media(max-width:760px){body.private-view .ps-app .ps-library-doc{grid-template-columns:minmax(0,1fr)}.ps-library-media{width:100%;max-width:420px}.ps-library-doc .ps-library-actions{grid-column:auto}.ps-media-slot{min-height:0}}

@media(max-width:420px){.ps-library-media{grid-template-columns:minmax(0,1fr)}.ps-media-slot{min-height:0}}

/* Completed results have a visible cover; empty/generating slots retain their controls. */
.ps-media-slot.ps-media-ready{border-color:transparent;background:var(--ps-paper,#fff);padding:0;gap:0;min-height:0;justify-content:flex-start}
.ps-app .ps-library-media .ps-media-slot.ps-media-ready .ps-media-open.ps-media-result{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;height:100%;padding:0;min-height:0;border:0;border-radius:2px;background:transparent;color:var(--primary,#347cf1);font-size:12px;text-decoration:none;overflow:hidden}
.ps-media-ready .ps-media-open .ps-media-cover{position:relative;display:block;width:100%;height:100%;aspect-ratio:auto;overflow:hidden;border-radius:2px;background:var(--ps-paper,#fff)}
.ps-media-ready .ps-media-cover svg{display:block;width:100%;height:100%}
.ps-media-ready .ps-media-open .ps-media-cover .ps-media-type-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:auto;min-width:52px;height:40px;padding:0 7px;border:0;border-radius:3px;background:color-mix(in srgb,var(--ps-paper,#fff) 80%,transparent);color:var(--sprout-file-other,#536b82);box-shadow:none;font:700 21px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.5px;pointer-events:none}
.ps-media-ready .ps-media-cover .ps-media-type-icon svg{display:block;width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ps-media-ready[data-media-kind="explain"] .ps-media-type-icon svg{fill:currentColor;stroke:none}
.ps-media-ready .ps-media-open .ps-media-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:1}
/* One shared action row for every completed media type, including nested document panels. */
.ps-app .ps-library-media .ps-media-slot.ps-media-ready .ps-media-actions{position:absolute;right:8px;bottom:8px;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:0;width:auto;min-width:0;margin:0;padding:0 2px;border:0;border-radius:3px;background:color-mix(in srgb,var(--ps-paper,#fff) 90%,transparent)}
.ps-app .ps-library-media .ps-media-slot.ps-media-ready .ps-media-actions>.ps-media-action:is(.ps-media-download,.ps-media-share){box-sizing:border-box;position:static;inset:auto;transform:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:0;width:auto;max-width:none;height:28px;min-height:28px;margin:0;padding:0 8px;border:0;border-radius:4px;background:transparent;box-shadow:none;color:var(--ps-accent,var(--primary,#347cf1));font-family:inherit;font-size:12px;font-weight:400;line-height:1.5;white-space:nowrap;text-decoration:none;cursor:pointer}
.ps-app .ps-library-media .ps-media-slot.ps-media-ready .ps-media-actions>.ps-media-download{color:var(--ps-muted,#718198)}
.ps-app .ps-library-media .ps-media-slot.ps-media-ready .ps-media-actions>.ps-media-action:is(.ps-media-download,.ps-media-share):hover{background:var(--ps-bg,#f1f5fb)}
.ps-app .ps-library-media .ps-media-slot.ps-media-ready .ps-media-actions>.ps-media-action:is(.ps-media-download,.ps-media-share):focus-visible{outline:2px solid var(--ps-accent,var(--primary,#347cf1));outline-offset:-2px}
.ps-media-result:focus-visible{outline:2px solid #347cf1;outline-offset:3px}
.ps-media-result:hover .ps-media-cover{box-shadow:inset 0 0 0 2px #347cf1}

/* HTML results use the full viewport with a compact, persistent close bar. */
.ps-media-preview.ps-media-preview-full[open]{position:fixed;inset:0;display:flex;flex-direction:column;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;padding:0;border:0;border-radius:0;overflow:hidden}
.ps-media-preview.ps-media-preview-full>header{flex:0 0 42px;min-height:42px;height:42px;padding:5px 12px;gap:12px;box-sizing:border-box;background:#fff}
.ps-media-preview.ps-media-preview-full>header strong{min-width:0;font-size:14px;line-height:22px}
.ps-media-preview.ps-media-preview-full>header button{flex:none;font:13px/20px -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;padding:5px 10px;color:#2868c7;background:transparent;border:1px solid #dce3ed;border-radius:3px;cursor:pointer}
.ps-media-preview.ps-media-preview-full>iframe{flex:1 1 0;width:100%;height:0;min-height:0;border:0}

/* Shared full viewport preview: public book reader header rhythm. */
#sprout-media-reader{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#fff;color:#26323b;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}
#sprout-media-reader *{box-sizing:border-box}#sprout-media-reader [hidden]{display:none!important}
#sprout-media-reader .sm-shell{display:flex;flex-direction:column;height:100%}
#sprout-media-reader .sm-header{display:flex;align-items:center;flex:none;height:52px;padding:0 16px;gap:16px;border-bottom:1px solid #e5eaee;background:#fff}
#sprout-media-reader button,#sprout-media-reader a{font:inherit;color:inherit;background:transparent;border:0;border-radius:3px;line-height:1.3;min-height:30px;padding:5px 9px;box-shadow:none;cursor:pointer;text-decoration:none;font-size:13px}
#sprout-media-reader button:hover,#sprout-media-reader a:hover{background:#507ab314}#sprout-media-reader button:disabled{opacity:.35;cursor:default}
#sprout-media-reader :focus-visible{outline:2px solid #507ab3;outline-offset:2px}
#sprout-media-reader svg{display:block;width:18px;height:18px;flex:none}
#sprout-media-reader .sm-back{display:flex;align-items:center;gap:7px;white-space:nowrap;padding-left:2px}
#sprout-media-reader .sm-name{display:flex;align-items:center;justify-content:center;gap:9px;flex:1;min-width:0}
#sprout-media-reader .sm-name strong{max-width:600px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600}
#sprout-media-reader .sm-name small{font-size:11px;padding:3px 6px;background:#f8fafc;color:#7e8a94;border-radius:2px;white-space:nowrap}
#sprout-media-reader nav{display:flex;align-items:center;gap:6px;flex:none}#sprout-media-reader nav i{height:16px;width:1px;background:#e5eaee;margin:0 5px}
#sprout-media-reader .sm-page{font-size:13px;min-width:42px;text-align:center;font-variant-numeric:tabular-nums}
#sprout-media-reader .sm-content{position:relative;flex:1;min-height:0;background:#f3f5f7;display:flex;align-items:center;justify-content:center;overflow:auto}
#sprout-media-reader .sm-slide{display:block;width:100%;height:100%;object-fit:contain;padding:16px}
#sprout-media-reader iframe,#sprout-media-reader video{display:block;width:100%;height:100%;border:0}#sprout-media-reader video{object-fit:contain;background:#101820}
#sprout-media-reader .sm-error{padding:16px;background:#fff;color:#657381}#sprout-media-reader .sm-slide+.sm-error{position:absolute}
@media(max-width:650px){#sprout-media-reader .sm-header{padding:0 8px;gap:5px}#sprout-media-reader .sm-back span{display:none}#sprout-media-reader .sm-name small{display:none}#sprout-media-reader .sm-name strong{font-size:13px}#sprout-media-reader nav{gap:0}#sprout-media-reader .sm-slide{padding:4px}}

/* Authenticated video stays in the parent page; guide scripts are never executed. */
#sprout-media-reader .sm-video-content{display:flex;flex-direction:column;justify-content:flex-start;overflow:auto;background:#f3f5f7}
#sprout-media-reader .sm-video-content video{flex:1;min-height:0;width:100%;object-fit:contain}
#sprout-media-reader .sm-video-status{flex:none;margin:0;padding:8px 16px;background:#fff;font-size:13px}
#sprout-media-reader .sm-video-chapters{display:flex;flex:none;flex-wrap:wrap;gap:6px;width:100%;padding:8px 16px;border-top:1px solid #e5eaee;background:#fff}
#sprout-media-reader .sm-video-chapters button{border:1px solid #e5eaee;max-width:100%;text-align:left}
#sprout-media-reader .sm-video-chapters button[aria-current=true]{background:#edf4ff;color:#347cf1;border-color:#a9c8f6}

/* Document images reuse the shared media card and full-screen preview. */
.ps-image-gallery .ps-media-ready .ps-media-open .ps-media-cover img{object-fit:contain}
.ps-image-gallery[hidden],.ps-document-images [hidden]{display:none!important}

/* Empty media placeholders, scoped away from ready covers and image galleries. */
.ps-library-media > [data-study-media]:not(.ps-media-ready){
 aspect-ratio:16 / 9;min-height:0;gap:4px;padding:16px 0 0;container-type:inline-size;
 background:#f3f5f7;border-color:#e0e5eb;border-radius:4px;box-shadow:none;
}
.ps-library-media > [data-study-media]:not(.ps-media-ready) .ps-media-empty-icon {
 position:static;flex:none;display:block;width:24px;height:24px;transform:none;color:#788697;margin:0;pointer-events:none;
}
.ps-library-media > [data-study-media]:not(.ps-media-ready) .ps-media-label {color:#667588}
.ps-library-media > [data-study-media]:not(.ps-media-ready) .ps-media-status,
.ps-library-media > [data-study-media]:not(.ps-media-ready) .ps-media-empty-hint {position:static;flex:none;width:100%;margin:0;color:#667588;font-size:11px;line-height:16px;white-space:nowrap}
body.studio-page .ps-app .ps-library-media > [data-study-media]:not(.ps-media-ready) .ps-media-generate {
 position:static;flex:none;display:flex;align-items:center;justify-content:center;height:26px;min-height:26px;width:100%;max-width:100%;
 margin:0;padding:0 4px;border:0!important;border-radius:0!important;
 background:transparent!important;box-shadow:none!important;color:var(--primary,#347cf1);font-weight:400;white-space:nowrap;
}
.ps-library-media > [data-study-media]:not(.ps-media-ready) .ps-media-generate:hover {text-decoration:underline}
body.dark .ps-library-media > [data-study-media]:not(.ps-media-ready),[data-theme="night"] .ps-library-media > [data-study-media]:not(.ps-media-ready){background:#182533;border-color:#344353}
body.dark .ps-library-media > [data-study-media]:not(.ps-media-ready) .ps-media-empty-icon,[data-theme="night"] .ps-library-media > [data-study-media]:not(.ps-media-ready) .ps-media-empty-icon {color:#a9b5c3}
body.dark .ps-library-media > [data-study-media]:not(.ps-media-ready) :is(.ps-media-status,.ps-media-label,.ps-media-empty-hint),[data-theme="night"] .ps-library-media > [data-study-media]:not(.ps-media-ready) :is(.ps-media-status,.ps-media-label,.ps-media-empty-hint){color:#b6c2ce}

.ps-library-media > [data-study-media]:not(.ps-media-ready) .ps-media-status:empty {display:none}
@container (max-width:135px) {
 .ps-media-slot .ps-media-empty-icon {width:16px!important;height:16px!important}
 .ps-media-slot .ps-media-status,.ps-media-slot .ps-media-empty-hint {font-size:10px!important;line-height:12px!important}
 body.studio-page .ps-app .ps-library-media > [data-study-media]:not(.ps-media-ready) .ps-media-generate {height:22px;min-height:22px;font-size:10px}
}
