/* Video gallery: thumbnails stay near-black like the product demo; cards use the same panel treatment as everything else. */
.video-stats{margin-bottom:20px}
.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.video-card{border:1px solid var(--line);border-radius:var(--r-card);background:var(--panel);overflow:hidden;display:flex;flex-direction:column;transition:border-color var(--t-fade) var(--ease-out)}
.video-card:hover{border-color:var(--accent-soft)}
.video-thumb{position:relative;display:block;width:100%;aspect-ratio:16/9;background:var(--media);overflow:hidden;padding:0;border-bottom:1px solid var(--line)}
.video-thumb video{width:100%;height:100%;object-fit:cover;display:block;background:var(--media)}
.video-thumb.tall video{object-fit:contain}
.video-thumb.tall::before{content:"";position:absolute;inset:0;background:radial-gradient(circle,#ffffff14 1px,transparent 1.3px) 0 0/16px 16px,radial-gradient(circle at 50% 50%,#1f2c35,var(--media) 72%)}
.video-thumb.tall video{position:relative}
.video-badge{position:absolute;bottom:8px;font:500 10px var(--mono);letter-spacing:.04em;color:var(--media-ink);background:#070d12cc;border:1px solid #ffffff14;border-radius:var(--r-chip);padding:3px 6px}
.video-badge.aspect{left:8px}
.video-badge.duration{right:8px}
.video-badge.duration:empty{display:none}
.video-play{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.video-play svg{width:42px;height:42px;padding:12px 10px 12px 14px;border-radius:50%;background:var(--media-play);fill:#070d12;box-shadow:0 0 0 6px #4fa39633,0 0 28px #4fa39659;transition:transform var(--t-pop) var(--ease-pop),opacity var(--t-fade)}
.video-thumb:hover .video-play svg{transform:scale(1.08);opacity:.7}
.video-card-body{padding:14px 16px 12px;display:flex;flex-direction:column;flex:1}
.video-card-tags{display:flex;align-items:center;gap:10px}
.video-topic{font:600 9.5px var(--mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.video-card h2{font-size:15px;line-height:1.25;letter-spacing:-.01em;margin:12px 0 6px}
.video-card h2 button{text-align:left;padding:0;font:inherit;color:inherit}
.video-card h2 button:hover{color:var(--accent)}
.video-card p{font-size:12.5px;line-height:1.5;color:var(--muted);margin:0 0 14px}
.video-card-meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px;border-top:1px solid var(--line-soft);font:400 10.5px var(--mono);color:var(--muted)}
.video-card-meta button{font:500 12px var(--sans);color:var(--accent)}
.video-card-meta button:hover{color:var(--accent-hover)}
.video-dialog{width:min(1120px,calc(100vw - 24px));max-height:94vh;margin:3vh auto auto;overflow:auto;padding:0}
.video-dialog-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px}
.video-stage{background:var(--media);display:flex;align-items:center;justify-content:center;min-height:300px}
.video-stage video{display:block;max-width:100%;max-height:86vh;background:#000}
.video-stage:not(.tall) video{width:100%}
.video-stage.tall video{height:min(86vh,860px);width:auto}
.video-info{padding:20px 22px 22px;overflow:auto;max-height:94vh}
.video-info h2{font-size:20px;line-height:1.2;letter-spacing:-.02em;margin:12px 0 10px}
.video-summary{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 16px}
.video-facts{margin:0 0 18px;font-size:12.5px}
.video-facts div{display:flex;gap:12px;padding:8px 0;border-top:1px solid var(--line-soft)}
.video-facts dt{width:74px;flex-shrink:0;font:600 9.5px var(--mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase;padding-top:3px}
.video-facts dd{margin:0;color:var(--text);word-break:break-word}
.video-facts code{font:400 11.5px var(--mono)}
.video-versions{display:flex;flex-direction:column;gap:6px;margin:10px 0 16px}
.video-versions button{text-align:left;border:1px solid var(--line);border-radius:var(--r-field);padding:8px 11px;background:var(--field)}
.video-versions button:hover{background:var(--hover-strong)}
.video-versions button.active{border-color:var(--accent);background:var(--accent-wash);box-shadow:0 0 0 3px var(--accent-wash)}
.video-versions strong{display:block;font-size:12.5px;font-weight:600;color:var(--bright)}
.video-versions small{display:block;font:400 10.5px var(--mono);color:var(--muted);margin-top:3px}
.video-extras{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}
.video-actions{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}
.video-jobs{margin-bottom:18px;display:flex;flex-direction:column;gap:8px}
.job-card{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--panel);padding:12px 16px}
.job-card.failed{border-color:var(--warning-edge)}
.job-main{min-width:0;flex:1}
.job-title{display:flex;align-items:center;gap:10px;font-size:13.5px}
.job-title strong{font-weight:600;color:var(--bright);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.job-main p{margin:6px 0 0;font-size:12.5px;color:var(--muted)}
.job-steps{display:flex;gap:4px;list-style:none;margin:10px 0 0;padding:0;max-width:320px}
.job-steps li{flex:1;height:3px;border-radius:2px;background:var(--line)}
.job-steps li.done{background:var(--accent)}
.job-steps li.now{background:var(--accent);animation:job-pulse 1.4s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.job-steps li.now{animation:none}}
@keyframes job-pulse{50%{opacity:.35}}
.job-main details{margin-top:8px;font-size:12px;color:var(--muted)}
.job-main pre{white-space:pre-wrap;word-break:break-word;font:400 11px var(--mono);max-height:200px;overflow:auto;background:var(--sunken);border-radius:var(--r-field);padding:8px 10px;margin:6px 0 0}
.job-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}
@media(max-width:1100px){
  .video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:860px){
  .video-dialog-grid{grid-template-columns:1fr}
  .video-stage.tall video{height:min(70vh,640px)}
  .video-info{max-height:none}
}
@media(max-width:700px){
  .video-grid{grid-template-columns:1fr}
  .video-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Destructive actions on generated videos */
.video-actions .danger,.job-actions .danger{color:var(--error)}
.video-actions .danger:hover,.job-actions .danger:hover{background:var(--error-wash)}

/* Jobs waiting for approval, and the settings dialog */
.job-card.awaiting{border-color:var(--warning-edge);background:var(--warning-wash)}
.job-approval{margin-top:8px}.job-approval summary{cursor:pointer;color:var(--muted);font-size:12px}
.job-brief{white-space:pre-wrap;color:var(--text);margin:8px 0 4px;max-width:70ch}
.settings-dialog{width:min(640px,calc(100vw - 30px))}
.settings-section .field-row{display:grid;grid-template-columns:90px 1fr;gap:12px;align-items:start;margin:16px 0}
.settings-label{font:11px var(--mono);letter-spacing:1px;color:var(--muted);padding-top:8px}
.settings-status{margin:0 0 8px;color:var(--muted)}.settings-status.on{color:var(--success)}
.settings-token form{display:flex;gap:8px;flex-wrap:wrap}.settings-token input{flex:1;min-width:200px}
.settings-now{color:var(--muted);font-size:12px;margin:8px 0 0}
