.asset-preview{position:fixed;inset:0;z-index:1000;background:#15182cc9;display:grid;place-items:center;padding:24px;backdrop-filter:blur(5px)}
.asset-preview.hidden{display:none}.preview-dialog{background:#fff;border-radius:18px;width:min(1220px,96vw);height:min(880px,94dvh);display:flex;flex-direction:column;box-shadow:0 30px 100px #0004;overflow:hidden}
.preview-dialog header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb;gap:10px}.preview-dialog small{margin-left:14px;color:#8790a1}.preview-actions{display:flex;gap:8px;flex-wrap:wrap}.preview-actions button{padding:8px 12px;border:1px solid #dddfea;background:white;border-radius:9px}.preview-actions button[hidden]{display:none}.preview-content{flex:1;min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center;background:#f2f3f7}.preview-content img{max-width:100%;max-height:100%;object-fit:contain}.preview-content img.zoomed{max-width:none;max-height:none;width:180%;flex-shrink:0;align-self:flex-start}.preview-content:has(.zoomed){justify-content:flex-start}.preview-content iframe{height:100%;width:100%;border:0;background:white}.preview-content video{max-width:100%;max-height:100%}.preview-dialog footer{padding:10px 20px;color:#68738a;font-size:13px;min-height:20px}
.image-trigger{display:block;width:100%;padding:0;border:0;cursor:zoom-in}.creation-progress{background:white;border:1px solid #e6e8f1;padding:24px;border-radius:20px;margin-bottom:20px}.progress-heading{display:flex;align-items:center;gap:14px}.progress-heading h2{font-size:20px;margin:0}.progress-heading p{font-size:13px;color:#788397;margin:6px 0}.live-dot,.done-dot{width:14px;height:14px;border-radius:50%;background:#7a6cf1;flex-shrink:0}.live-dot{animation:breathe 1.8s infinite}.done-dot{background:#2aab82}.elapsed{margin-left:auto;color:#8390a1;font-size:12px;white-space:nowrap}.creation-steps{list-style:none;display:flex;flex-wrap:wrap;gap:12px;padding:20px 0 10px;margin:0}.creation-steps li{display:flex;gap:7px;align-items:center;font-size:12px;color:#8991a3}.creation-steps li>span{width:24px;height:24px;border-radius:50%;background:#f0f2f7;display:grid;place-items:center}.creation-steps li.done{color:#248c6b}.creation-steps li.done>span{background:#e5f5ed}.creation-steps li.running{color:#6953ce;font-weight:600}.creation-steps li.running>span{background:#ede8ff}.progress-foot{display:flex;justify-content:space-between;gap:10px;color:#8b93a3;font-size:12px;margin-top:12px}.draft-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.draft-card{padding:18px;border:1px solid #e9eaf2;border-radius:14px;background:#fbfcff}.draft-card h4{font-size:15px;margin:8px 0}.draft-card p,.draft-card li{font-size:13px;line-height:1.9;color:#59667c}.draft-number{font-size:12px;color:#8e80cc}.asset-card{border:1px solid #e5e7ee;background:#fff;border-radius:12px;padding:0;overflow:hidden;text-align:left}.asset-card img{width:100%;height:160px;object-fit:contain;background:#f5f5f5}.asset-card b{display:block;padding:12px;font-size:13px}.clip-placeholder{height:120px;display:grid;place-items:center;background:#f0edff;color:#7663c9}.speech-pairs>div{padding:12px 0;border-bottom:1px solid #eee}.speech-pairs small{color:#8894a6}.speech-pairs p{line-height:1.8;font-size:14px}.debug-panel summary{cursor:pointer;color:#8993a6;font-size:12px}.draft-content{padding:18px 0;line-height:1.8}.draft-content>h3{font-size:18px}.draft-content>p,.draft-content>ul{font-size:14px;color:#59667c}@keyframes breathe{50%{opacity:.4;box-shadow:0 0 0 6px #7a6cf114}}
@media(max-width:650px){.asset-preview{padding:5px}.preview-dialog{width:100%;height:96dvh}.preview-dialog header{padding:12px;flex-wrap:wrap}.creation-progress{padding:18px}.progress-heading{flex-wrap:wrap}.elapsed{margin-left:28px}.progress-foot{flex-direction:column}.draft-grid{grid-template-columns:1fr}.preview-actions button{padding:7px 10px}}
@media(prefers-reduced-motion:reduce){.live-dot{animation:none}}
/* Audition cards need enough width for native audio controls and full scripts. */
#voiceGrid .vcard{min-width:0;cursor:default}
#voiceGrid audio{min-width:0;max-width:100%}
@media(max-width:600px){#voiceGrid{grid-template-columns:1fr}}

.companion-frame{display:block;width:100%;min-height:720px;border:0;border-radius:12px;background:#fff;margin-top:16px}
