.dm-setup-section > summary { cursor:pointer; line-height:1.5; padding:3px 0; }
.dm-setup-section > summary strong { font-size:14px; }
.dm-setup-step-status { display:block; font-size:12px; font-weight:normal; color:var(--dm-text-muted,#59566e); margin-top:3px; }
.dm-setup-step-status:empty { display:none; }
.dm-setup-section-content { padding-top:10px; }
.dm-setup-explanation { font-size:13px; line-height:1.6; }
.dm-setup-explanation h3 { font-size:15px; margin:0 0 6px; }
.dm-setup-explanation p { margin:6px 0 10px; }
.dm-setup-brief { font-size:13px; line-height:1.5; margin:8px 0; }
.dm-setup-details { margin-top:14px; font-size:12px; line-height:1.6; }
.dm-setup-details > summary { cursor:pointer; font-weight:600; }
.dm-setup-details-body { padding-top:8px; }
.dm-setup-details-body p { margin:6px 0 10px; }
.dm-setup-agent-advice { font-size:12px; line-height:1.5; margin:10px 0; color:var(--dm-text-muted); }
.dm-setup-files,.dm-setup-review,.dm-setup-prompt-preview { margin:12px 0; font-size:12px; line-height:1.6; }
.dm-setup-files summary,.dm-setup-review summary,.dm-setup-prompt-preview summary { cursor:pointer; font-weight:600; }
.dm-setup-prompt-preview textarea { display:block; margin-top:8px; max-width:100%; }
.dm-setup-review blockquote { margin:8px 0; padding:10px 12px; border-left:3px solid var(--dm-primary,#6d4be0); background:var(--dm-bg-subtle,#f5f3ff); }
.dm-setup-picture { margin:0 0 14px; }
.dm-setup-picture-title { font-size:15px; line-height:1.5; margin:0 0 8px; }
.dm-setup-illustration { display:block; position:relative; width:100%; height:150px; padding:0; margin:0; overflow:hidden; border:0; box-sizing:border-box; border-radius:12px; background:transparent; cursor:pointer; }
.dm-setup-illustration-art { position:absolute; inset:0; overflow:hidden; mask-image:linear-gradient(to right,transparent,#000 20px,#000 calc(100% - 20px),transparent),linear-gradient(to bottom,transparent,#000 16px,#000 calc(100% - 16px),transparent); mask-composite:intersect; }
.dm-setup-illustration img { position:absolute; display:block; width:100%; height:auto; max-width:none; left:0; top:50%; transform:translateY(-50%); }
.dm-setup-illustration-label { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); padding:9px 16px; border:1px solid #ffffffb3; border-radius:9px; background:linear-gradient(135deg,#423469,#27204d); color:#fff; white-space:nowrap; font:600 13px/1.4 system-ui,sans-serif; box-shadow:0 0 0 4px #ffffff40,0 0 20px #ffffffb3,0 5px 14px #1c123f59; }
.dm-setup-illustration:hover .dm-setup-illustration-label,.dm-setup-illustration:focus-visible .dm-setup-illustration-label { background:linear-gradient(135deg,#554180,#35265e); box-shadow:0 0 0 4px #ffffff66,0 0 24px #ffffffcc,0 6px 16px #1c123f66; }
.dm-setup-illustration:focus-visible,.dm-setup-section > summary:focus-visible { outline:3px solid var(--dm-primary,#7852dc); outline-offset:3px; }
.dm-setup-picture-dialog { box-sizing:border-box; width:calc(100% - 40px); max-width:1440px; max-height:calc(100dvh - 40px); padding:20px; border:1px solid var(--dm-border,#d7d5e8); border-radius:12px; background:var(--dm-bg-subtle,#fff); color:var(--dm-text,#1e293b); overflow:auto; font-family:system-ui,sans-serif; }
.dm-setup-picture-dialog::backdrop { background:rgba(0,0,0,.7); }
.dm-setup-picture-header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.dm-setup-picture-header h2 { margin:0; font-size:18px; line-height:1.4; }
.dm-setup-picture-close { flex:none; padding:8px 16px; border:1px solid var(--dm-border,#d7d5e8); border-radius:6px; background:var(--dm-bg-hover,#eee9ff); color:inherit; font:600 14px system-ui,sans-serif; cursor:pointer; }
.dm-setup-picture-close:focus-visible { outline:3px solid var(--dm-primary,#7852dc); outline-offset:3px; }
.dm-setup-picture-dialog > img { display:block; width:100%; height:auto; max-height:calc(100dvh - 160px); object-fit:contain; background:#fff; }
@media (max-width:560px) { .dm-setup-picture-dialog { width:calc(100% - 20px); padding:12px; } .dm-setup-picture-header { gap:8px; } .dm-setup-picture-header h2 { font-size:15px; } }
