/* Current task progress is the main surface while Tripo is working. */
.generation-progress{padding:24px;border:1px solid var(--line);border-radius:12px;background:#f5f7f4;margin:0 0 20px}
.generation-progress-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.generation-provider{font-size:12px;letter-spacing:1px;color:#68766d}
.generation-percent{font-size:28px;font-weight:300;font-variant-numeric:tabular-nums;color:#56745f;white-space:nowrap}
.generation-progress h3{font-size:21px;line-height:1.6;font-weight:400;letter-spacing:.5px;margin:14px 0 20px}
#avatar-generation-progress #tripo-progress{appearance:none;display:block;position:static;clip:auto;white-space:normal;width:100%;height:7px;margin:0 0 22px;padding:0;border:0;border-radius:8px;overflow:hidden;background:#dfe6e1;accent-color:#56745f}
#tripo-progress::-webkit-progress-bar{background:#dfe6e1;border-radius:8px}
#tripo-progress::-webkit-progress-value{background:#56745f;border-radius:8px;transition:width .6s ease}
#tripo-progress::-moz-progress-bar{background:#56745f;border-radius:8px}
#tripo-progress:indeterminate{background:linear-gradient(90deg,#dfe6e1 25%,#a0b3a6 50%,#dfe6e1 75%);background-size:200% 100%;animation:task-wait 2.5s ease-in-out infinite}
#tripo-progress:indeterminate::-webkit-progress-bar{background:transparent}
.generation-steps{display:flex;justify-content:space-between;gap:12px;padding:0;margin:0;list-style:none}
.generation-steps li{display:flex;flex-direction:column;align-items:flex-start;gap:7px;flex:1;font-size:14px;color:#737771;line-height:1.6}
.generation-step-mark{width:23px;height:23px;display:grid;place-items:center;border:1px solid #ccd5cf;border-radius:50%;font-size:11px;font-variant-numeric:tabular-nums}
.generation-steps li[data-state=current]{color:#334b3b}
.generation-steps li[data-state=current] .generation-step-mark{border-color:#56745f;background:#56745f;color:#fff}
.generation-steps li[data-state=done]{color:#56745f}
.generation-steps li[data-state=done] .generation-step-mark{border-color:#aab9ae;background:#e6ede8;color:#56745f}
.generation-detail{font-size:14px;line-height:1.9;color:#59685f;margin:20px 0 0}
.generation-away-note{font-size:12px;line-height:1.8;color:#7a817d;margin:8px 0 0}
.generation-progress[data-kind=ready] .generation-away-note,.generation-progress[data-kind=partial] .generation-away-note,.generation-progress[data-kind=error] .generation-away-note{display:none}
.generation-progress[data-kind=error],.generation-progress[data-kind=partial]{border-color:#ddd;background:#f3f3f3}
.generation-progress[data-kind=error] .generation-detail,.generation-progress[data-kind=partial] .generation-detail{color:#666}
#tripo-progress-reset{font-size:12px;padding:10px 0 0;margin-top:5px;color:#555;text-align:left}
#tripo-custom-details[data-phase] .tripo-custom-body>:is(.tripo-methods,#tripo-text-panel,#tripo-image-panel,#tripo-service-status,#tripo-generate,.tripo-cost-note,#tripo-status){display:none}
#tripo-resume{width:100%;min-height:46px;margin:4px 0 16px;font-size:13px}
#custom-dialog[data-view=create] .custom-avatar-result{grid-template-columns:86px 1fr;background:#fff;padding:18px;border-color:#dedede;gap:16px}
#custom-dialog[data-view=create] .custom-avatar-result img{width:86px;height:106px;border-radius:8px;background:#f5f5f5}
#custom-dialog[data-view=create] .custom-avatar-result button{min-height:50px;margin-top:5px}
.generation-widget{position:fixed;bottom:24px;right:28px;display:flex;align-items:center;width:340px;max-width:calc(100vw - 40px);z-index:25;background:#fff;border:1px solid #d8e1db;border-radius:12px;box-shadow:0 10px 40px #00000010}
#avatar-generation-open{display:flex;align-items:center;gap:12px;flex:1;text-align:left;padding:17px 12px 17px 18px;border:0;background:none;min-width:0}
#avatar-generation-open strong{display:block;font-size:13px;font-weight:500;color:#2d3831;line-height:1.6}
#avatar-generation-open>span>span{display:block;font-size:12px;color:#727a75;margin-top:4px;line-height:1.7}
.generation-widget-mark{width:24px;height:24px;flex-shrink:0;border:2px solid #dce4df;border-top-color:#56745f;border-radius:50%;animation:task-spin 2s linear infinite}
.generation-widget[data-kind=ready] .generation-widget-mark,.generation-widget[data-kind=partial] .generation-widget-mark,.generation-widget[data-kind=error] .generation-widget-mark{animation:none;display:grid;place-items:center;border:1px solid #aab9ae;background:#eff3f0;color:#56745f;font-size:13px}
.generation-widget[data-kind=ready] .generation-widget-mark::before{content:'✓'}
.generation-widget[data-kind=partial] .generation-widget-mark::before,.generation-widget[data-kind=error] .generation-widget-mark::before{content:'i'}
#avatar-generation-dismiss{border:0;background:none;color:#8b928e;font-size:18px;padding:18px 14px;align-self:stretch}
.generation-widget:not([hidden])~.notice{bottom:132px}
@keyframes task-wait{0%,100%{background-position:0 0}50%{background-position:100% 0}}
@keyframes task-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.generation-progress{padding:20px}.generation-progress h3{font-size:20px}.generation-widget{bottom:18px;right:20px}.generation-percent{font-size:26px}}
@media(prefers-reduced-motion:reduce){#tripo-progress:indeterminate,.generation-widget-mark{animation:none}#tripo-progress::-webkit-progress-value{transition:none}}
