.avatar-page{max-width:920px;margin:110px auto 48px;padding:0 20px;color:var(--text-color)}
.avatar-page [hidden]{display:none!important}
.avatar-page .hero{padding:24px 0 28px;text-align:left;min-height:0;background:none}
.avatar-page .hero h1{font-size:clamp(28px,5vw,44px);margin:12px 0;line-height:1.15}
.avatar-page .hero p{max-width:680px;color:var(--gray-light)}
.avatar-page .eyebrow,.avatar-page .step-label,.avatar-page .engine-label{font-family:var(--bz-mono);font-size:12px;letter-spacing:.06em}
.avatar-page .eyebrow{color:var(--primary)}
.avatar-page .creator,.avatar-page .result-panel{padding:24px;border:1px solid var(--border-color);background:var(--secondary-bg)}
.avatar-page .creator-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.avatar-page .engine-label{color:var(--gray-light)}
.avatar-page .mode-list{display:flex;gap:8px;margin-bottom:12px}
.avatar-page .mode{flex:1;padding:12px;border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-color);font:inherit;cursor:pointer}
.avatar-page .mode.selected{border-color:var(--primary);color:var(--primary)}
.avatar-page .upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}
.avatar-page .upload-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:240px;padding:20px;border:1px dashed var(--border-color);background:var(--bg-color);cursor:pointer;overflow:hidden;text-align:center;min-width:0}
.avatar-page .upload-card:hover,.avatar-page .upload-card:focus-within,.avatar-page .has-file{border-color:var(--primary)}
.avatar-page .upload-card input{position:absolute;width:1px;height:1px;opacity:0}
.avatar-page .upload-icon{font-size:32px;color:var(--primary)}
.avatar-page .upload-hint,.avatar-page .file-name{font-size:13px;color:var(--gray-light);overflow-wrap:anywhere}
.avatar-page .companion-link{margin:0 0 18px;color:var(--gray-light);font-size:13px;line-height:1.5}
.avatar-page .companion-link a{color:var(--primary);font-weight:700}
.avatar-page .upload-card img,.avatar-page .upload-card video{width:100%;max-height:180px;object-fit:contain}
.avatar-page audio{width:100%;max-width:100%;height:40px}
.avatar-page .generate-btn,.avatar-page .download-link{display:block;width:100%;padding:16px;border:1px solid var(--primary);background:var(--primary);color:var(--bg-color);font:inherit;font-weight:700;text-align:center;text-decoration:none;cursor:pointer}
.avatar-page button:disabled{opacity:.45;cursor:not-allowed}
.avatar-page button:focus-visible,.avatar-page a:focus-visible{outline:2px solid var(--primary);outline-offset:4px}
.avatar-page .form-message{font-size:13px;color:var(--gray-light);margin:12px 0 0}
.avatar-page .form-message.error{color:var(--error)}
.avatar-page .result-panel{margin-top:24px}
.avatar-page .result-heading h2{font-size:24px}
.avatar-page .job-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}
.avatar-page .job-state,.avatar-page .queue-position{display:inline-flex;align-items:center;min-height:30px;padding:4px 10px;border:1px solid var(--border-color);font-size:12px;font-weight:700}
.avatar-page .job-state{border-color:var(--primary);color:var(--primary)}
.avatar-page .queue-position{color:var(--text-color)}
.avatar-page #jobStatus{margin:12px 0;color:var(--text-color)}
.avatar-page .job-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0;padding:0;list-style:none}
.avatar-page .job-steps li{padding:10px 6px;border-top:3px solid var(--border-color);color:var(--gray-light);font-size:12px;text-align:center}
.avatar-page .job-steps li.complete,.avatar-page .job-steps li.current{border-color:var(--primary);color:var(--text-color)}
.avatar-page .job-steps li.current{font-weight:700}
.avatar-page .job-help{color:var(--gray-light);font-size:13px;line-height:1.5}
.avatar-page .retry-status{padding:10px 14px;border:1px solid var(--primary);background:transparent;color:var(--primary);font:inherit;cursor:pointer}
.avatar-page .job-history{display:inline-block;margin-top:14px;color:var(--primary);font-size:13px}
.avatar-page #resultVideo{display:block;width:100%;max-height:560px;margin-bottom:16px}
.avatar-page .progress-track{height:4px;background:var(--border-color);overflow:hidden;margin:16px 0}
.avatar-page .progress-track span{display:block;width:35%;height:100%;background:var(--primary);animation:avatar-progress 1.8s infinite alternate}
.avatar-page .details{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
.avatar-page .detail-number{color:var(--primary);font-family:var(--bz-mono)}
.avatar-page .details p,.avatar-page .translation-note{font-size:13px;color:var(--gray-light)}
.avatar-page .translation-note{border-top:1px solid var(--border-color);padding-top:16px;margin-top:16px}
@keyframes avatar-progress{to{transform:translateX(190%)}}
@media(max-width:600px){.avatar-page{margin-top:90px;padding:0 14px}.avatar-page .creator,.avatar-page .result-panel{padding:16px}.avatar-page .upload-grid{grid-template-columns:1fr}.avatar-page .upload-card{min-height:175px}.avatar-page .details{grid-template-columns:1fr;gap:8px}.avatar-page .details>div{display:flex;gap:14px}.avatar-page .mode{font-size:14px}.avatar-page .job-steps{gap:4px}.avatar-page .job-steps li{font-size:11px;padding:8px 2px}}
@media(prefers-reduced-motion:reduce){.avatar-page .progress-track span{animation:none;width:100%}}
