/* Photo-first AI studio. Progress lives exclusively inside the action button. */
.ai-workbench{min-width:0}.photo-inputs{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.photo-inputs .btn{flex:1;white-space:nowrap}.photo-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}
.generation-stage{position:relative;display:grid;place-items:center;min-height:340px;background:#141b17;border-radius:20px;overflow:hidden;margin:18px 0 12px;isolation:isolate}.generation-stage>img{display:block;width:100%;max-height:660px;object-fit:contain}.generation-stage #photo-empty{position:static;text-align:center;color:#edf1e7;padding:56px 24px;width:100%}.generation-stage #photo-empty>img{width:min(360px,90%);height:auto;margin:0 auto 28px}.generation-stage #photo-empty p{color:#b4bfb3;line-height:1.7}.generation-stage [hidden]{display:none!important}.preview-label{position:absolute;top:14px;left:14px;background:#17201dd9;color:#fff;border:1px solid #ffffff26;padding:7px 12px;border-radius:20px;font-size:12px;backdrop-filter:blur(8px)}
.generation-compare{display:flex;justify-content:center;gap:10px;margin:14px 0}.generation-summary{display:flex;align-items:center;gap:12px;padding:16px 0;margin-top:6px;border-top:1px solid var(--line,#e1e5df)}.generation-summary>img{width:56px;height:56px;border-radius:12px;object-fit:cover}.generation-summary>div{display:flex;flex:1;flex-direction:column;gap:4px}.generation-summary small{font-size:10px;letter-spacing:1.4px;color:#778174}.generation-summary strong{font-size:18px}.generation-summary span{font-size:12px;color:#6f796e}
.generate-button{display:flex;width:100%;align-items:center;justify-content:center;gap:12px;min-height:58px;font-size:16px!important}.generate-button:disabled{opacity:.55;cursor:default}.generate-button[aria-busy="true"]{opacity:1;background:#d5ee94;color:#1c2618;cursor:wait}.spark-orbit{display:block;position:relative;width:26px;height:26px;flex-shrink:0;transform-origin:center}.spark-orbit i{position:absolute;font-style:normal;font-size:14px;line-height:1}.spark-orbit i:nth-child(1){top:0;left:7px}.spark-orbit i:nth-child(2){top:13px;left:0;font-size:10px}.spark-orbit i:nth-child(3){top:15px;right:0;font-size:9px}.generate-button[aria-busy="true"] .spark-orbit{animation:star-orbit 1.8s linear infinite}.generate-button[aria-busy="true"] .spark-orbit i{animation:star-counter 1.8s linear infinite}@keyframes star-orbit{to{transform:rotate(360deg)}}@keyframes star-counter{to{transform:rotate(-360deg)}}
.generation-result-actions{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 16px}.generation-result-actions .btn{flex:1;white-space:nowrap}.generation-result-actions .link-button{width:100%;text-align:center;padding:8px}.generation-disclaimer{padding:14px 0 0;border-top:1px solid #e3e7df;line-height:1.6}.generation-history{border-top:1px solid #e3e7df;margin-top:22px;padding-top:20px}#generation-history-list{display:flex;gap:10px;overflow:auto;padding-bottom:8px}.generation-history-item{padding:0;min-width:110px;width:110px;flex-shrink:0;background:#f4f6f1;border:1px solid #e2e6dc;border-radius:12px;overflow:hidden;cursor:pointer}.generation-history-item img{width:100%;height:90px;object-fit:cover;display:block}.generation-history-item span{font-size:11px;display:block;padding:9px}.film-panel{scroll-margin-top:90px}.ai-workbench .photo-status{font-size:13px;line-height:1.65;margin:12px 0;min-height:22px}.ai-workbench button:focus-visible,.ai-workbench a:focus-visible{outline:3px solid #608126;outline-offset:3px}.ai-workbench [hidden]{display:none!important}
@media(max-width:600px){.photo-inputs{gap:8px}.photo-inputs .btn{font-size:12px;padding:12px 10px;min-height:48px}.generation-stage{min-height:260px;border-radius:15px}.generation-stage #photo-empty{padding:42px 18px}.generation-summary .link-button{font-size:12px}.generation-result-actions .btn{font-size:12px}.generation-summary strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){.generate-button[aria-busy="true"] .spark-orbit,.generate-button[aria-busy="true"] .spark-orbit i{animation:none}}
.photo-inputs .photo-action-icon{width:22px;height:22px;flex:0 0 22px;display:block}.photo-inputs .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px}

.generate-button[aria-busy="true"] .spark-orbit{will-change:transform}#photo-availability{padding:10px 12px;border-left:3px solid #8eaa55;background:#f2f5ea;line-height:1.6}
