.personal-actions{display:grid;gap:10px}
.personal-actions.has-preview{grid-template-columns:1fr 1fr}
.personal-actions .button{width:100%;gap:12px;padding-left:14px;padding-right:14px}
.personal-actions .button-outline{background:#fff}
.personal-actions .button-outline:hover{background:var(--lilac)}
.live-preview-hint{font-size:10px;line-height:1.6;color:#8b759c;text-align:center;margin-top:11px}
.live-preview-hint+.form-note{margin-top:4px}
.live-preview-dialog{width:min(980px,calc(100% - 35px))}
.live-preview-status{display:flex;align-items:center;gap:12px;margin:18px 0 6px;padding:12px 16px;border-radius:10px;background:var(--lilac);color:#5d2f86;font-size:13px;font-weight:600;line-height:1.5}
.live-preview-status p{margin:0}
.live-preview-spinner{flex-shrink:0;width:18px;height:18px;border:2.5px solid #dcbdf6;border-top-color:var(--purple);border-radius:50%;animation:live-preview-spin .9s linear infinite}
.live-preview-dialog:not([data-state=uploading]):not([data-state=generating]):not([data-state=slow]) .live-preview-spinner{display:none}
.live-preview-dialog[data-state=completed] .live-preview-status{background:#eaf7ef;color:#2f7a4d}
.live-preview-dialog[data-state=failed] .live-preview-status,.live-preview-dialog[data-state=partial] .live-preview-status{background:#fdf0f3;color:#a14161}
.live-preview-dialog[data-state=failed] .live-preview-pages,.live-preview-dialog[data-state=failed] .live-preview-note{display:none}
.live-preview-tip{min-height:18px;margin:0 0 14px 4px;font-size:11px;line-height:1.6;color:var(--muted)}
.live-preview-dialog:not([data-state=uploading]):not([data-state=generating]):not([data-state=slow]) .live-preview-tip{display:none}
.live-preview-dialog:not([data-state=uploading]):not([data-state=generating]):not([data-state=slow]) .live-preview-pages{margin-top:18px}
.live-preview-pages{display:grid;grid-template-columns:1fr 2fr;align-items:start;gap:18px;margin:6px 0 18px}
.live-preview-page{margin:0;min-width:0}
.live-preview-frame{position:relative;aspect-ratio:2/1;overflow:hidden;border:1px solid #efe2fa;border-radius:12px;background:linear-gradient(110deg,#f4eafd 8%,#fcf8ff 18%,#f4eafd 33%);background-size:200% 100%;animation:live-preview-shimmer 1.5s linear infinite}
.live-preview-page[data-live-preview-part=cover] .live-preview-frame{aspect-ratio:1/1}
.live-preview-frame img{display:block;width:100%;height:100%;object-fit:contain;animation:live-preview-in .5s ease}
.live-preview-frame img[hidden]{display:none}
.live-preview-page[data-status=completed] .live-preview-frame{animation:none;background:#fff}
.live-preview-page[data-status=failed] .live-preview-frame{animation:none;background:#faf6fc}
.live-preview-page[data-status=failed] .live-preview-frame::after{content:attr(data-failed-text);position:absolute;inset:0;display:grid;place-items:center;padding:20px;text-align:center;font-size:12px;color:#a14161}
.live-preview-page figcaption{margin-top:8px;font-size:11px;font-weight:700;letter-spacing:.04em;color:#8441b7}
.live-preview-note{font-size:11px;line-height:1.7;color:var(--muted)}
.live-preview-actions{position:sticky;bottom:-30px;display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin:14px -30px -30px;padding:18px 30px 26px;background:linear-gradient(180deg,#fff0 0,#fff 16px)}
.live-preview-actions .button{width:100%;gap:12px;padding-left:14px;padding-right:14px}
.live-preview-actions .button-outline{background:#fff}
@keyframes live-preview-spin{to{transform:rotate(360deg)}}
@keyframes live-preview-shimmer{to{background-position:-200% 0}}
@keyframes live-preview-in{from{opacity:0}to{opacity:1}}
@media(max-width:700px){.live-preview-pages{grid-template-columns:1fr}.live-preview-page[data-live-preview-part=cover]{width:100%;max-width:420px;margin:0 auto}}
@media(max-width:800px){.live-preview-status{font-size:12px;padding:11px 13px}.live-preview-actions{bottom:-22px;margin:12px -16px -22px;padding:12px 16px 18px}}
@media(max-width:480px){.live-preview-actions{grid-template-columns:1fr;gap:4px;padding-bottom:14px}.live-preview-actions .button-outline{order:2;min-height:0;padding:8px;border:0;background:none;font-size:13px}.live-preview-actions .button-outline:hover{transform:none;box-shadow:none}}
@media(max-width:520px){.personal-actions.has-preview{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.live-preview-frame,.live-preview-spinner,.live-preview-frame img{animation:none}}
