/* Original graphics + creator text. This export utility owns only its dialog. */
.setup-card-dialog {
  box-sizing:border-box; width:min(960px,calc(100% - 32px)); max-width:none;
  max-height:calc(100dvh - 48px); margin:auto; padding:0; overflow:hidden;
  border:1px solid var(--line,#dce1e6); border-radius:20px;
  background:var(--surface,#fff); color:var(--ink,#192129);
  font:400 16px/1.5 var(--font,system-ui,sans-serif);
  box-shadow:0 24px 100px #10201830; color-scheme:light;
}
.setup-card-dialog[open] { display:flex; flex-direction:column; }
.setup-card-dialog::backdrop { background:rgb(13 20 17 / .62); }
.setup-card-dialog * { box-sizing:border-box; }
.setup-card-dialog [hidden] { display:none !important; }
.setup-card-dialog :is(button,input,textarea,select) { font-family:inherit; }
.setup-card-dialog :is(button,input,textarea,select,summary):focus-visible { outline:3px solid var(--accent,#2857cb); outline-offset:3px; }
.setup-card-header { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-shrink:0; padding:24px 24px 0; }
.setup-card-header h2 { font:600 28px/1.2 var(--display,system-ui,sans-serif); letter-spacing:-.035em; margin:0; }
.setup-card-dialog .setup-card-close { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; padding:0; border:1px solid var(--line,#dce1e6); border-radius:50%; background:transparent; color:inherit; font:400 28px/1 system-ui,sans-serif; cursor:pointer; }
.setup-card-intro { flex-shrink:0; margin:8px 24px 24px; max-width:60ch; font-size:var(--text-14); color:var(--muted,#5c6570); }
.setup-card-body { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); align-items:start; gap:28px; padding:0 24px 24px; overflow-y:auto; overscroll-behavior:contain; min-height:0; }
.setup-card-preview { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; min-width:0; min-height:200px; margin:0; padding:16px; border-radius:12px; background:#f0f3ef; }
.setup-card-canvas { display:block; width:100%; height:auto; max-height:560px; object-fit:contain; border-radius:2px; }
.setup-card-preview-label { color:var(--muted,#5c6570); font-size:var(--text-12); line-height:1.5; text-align:center; overflow-wrap:anywhere; }
.setup-card-controls { min-width:0; }
.setup-card-formats { min-width:0; border:0; padding:0; margin:0 0 24px; }
.setup-card-formats legend { margin:0 0 12px; padding:0; font-size:var(--text-14); font-weight:600; }
.setup-card-format-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.setup-card-format { position:relative; display:flex; align-items:center; gap:8px; min-width:0; min-height:68px; padding:10px; border:1px solid var(--line,#dce1e6); border-radius:10px; cursor:pointer; }
.setup-card-format:has(input:checked) { background:#edf5df; border-color:#71865a; }
.setup-card-format:has(input:focus-visible) { outline:3px solid var(--accent,#2857cb); outline-offset:3px; }
.setup-card-format input { width:16px; height:16px; flex-shrink:0; margin:0; accent-color:#344d24; }
.setup-card-format span { display:flex; flex-direction:column; gap:2px; min-width:0; }
.setup-card-format strong { font-size:var(--text-14); font-weight:600; }
.setup-card-format small { font-size:var(--text-12); color:var(--muted,#5c6570); line-height:1.3; }
.setup-card-caption-label { display:block; font-size:var(--text-14); font-weight:600; margin:0 0 8px; }
.setup-card-photo-section { margin:0 0 24px; padding:16px; border:1px solid var(--line,#dce1e6); border-radius:12px; }
.setup-card-dialog .setup-card-photo-input { display:block; width:100%; max-width:100%; min-height:44px; padding:0; border:0; border-radius:0; background:transparent; color:var(--muted,#5c6570); font:400 12px/1.5 var(--font,system-ui,sans-serif); overflow:hidden; }
.setup-card-photo-input::file-selector-button { min-height:44px; padding:10px 14px; margin-right:10px; border:1px solid var(--line,#dce1e6); border-radius:8px; background:var(--surface,#fff); color:var(--ink,#192129); font:600 14px/1.4 var(--font,system-ui,sans-serif); cursor:pointer; }
.setup-card-photo-section .setup-card-help { margin:8px 0 0; }
.setup-card-photo-tools { display:flex; align-items:end; flex-wrap:wrap; gap:8px; margin-top:12px; }
.setup-card-photo-tools label { display:flex; flex:1; flex-direction:column; gap:4px; min-width:150px; font-size:var(--text-12); color:var(--muted,#5c6570); }
.setup-card-photo-tools select { display:block; width:100%; min-height:44px; padding:10px 28px 10px 10px; border:1px solid var(--line,#dce1e6); border-radius:8px; background-color:var(--surface,#fff); color:var(--ink,#192129); font-size:var(--text-16); }
.setup-card-dialog .setup-card-remove-photo { min-height:44px; padding:10px; border:0; border-radius:8px; background:transparent; color:var(--ink,#192129); font-size:var(--text-12); cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.setup-card-photo-status { margin:8px 0 0; font-size:var(--text-12); line-height:1.5; color:var(--muted,#5c6570); overflow-wrap:anywhere; }
.setup-card-photo-status:empty { display:none; }
.setup-card-photo-status[data-error="true"] { color:var(--danger,#a43131); }
.setup-card-dialog .setup-card-caption { display:block; width:100%; min-height:120px; max-height:300px; resize:vertical; margin:0; padding:12px; border:1px solid var(--line,#dce1e6); border-radius:8px; background:var(--surface,#fff); color:inherit; font-size:var(--text-16); font-weight:400; line-height:1.5; overflow-wrap:anywhere; }
.setup-card-post-credits { margin:10px 0 0; font-size:var(--text-13); line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; color:var(--ink,#192129); }
.setup-card-caption-count { margin:8px 0 0; font-size:var(--text-11); color:var(--muted,#5c6570); font-variant-numeric:tabular-nums; }
.setup-card-help { margin:8px 0 20px; font-size:var(--text-12); line-height:1.5; color:var(--muted,#5c6570); }
.setup-card-link-row { margin:0 0 8px; }
.setup-card-link-row .setup-card-help { margin:0; }
.setup-card-dialog .setup-card-text-button { display:inline-flex; align-items:center; min-height:44px; padding:8px 0; border:0; border-radius:4px; background:transparent; color:var(--ink,#192129); font-size:var(--text-14); font-weight:600; text-align:left; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.setup-card-full-details { margin:8px 0 16px; border-top:1px solid var(--line,#dce1e6); }
.setup-card-full-details summary { min-height:44px; padding:12px 0; font-size:var(--text-13); font-weight:600; cursor:pointer; }
.setup-card-full-details[open] summary { margin-bottom:4px; }
.setup-card-dialog .setup-card-full-caption { min-height:176px; }
.setup-card-manual-copy { margin-top:12px; }
.setup-card-actions { display:flex; flex-wrap:wrap; gap:8px; padding:0; }
.setup-card-dialog :is(.setup-card-primary,.setup-card-secondary,.setup-card-retry) { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 16px; border:1px solid var(--line,#dce1e6); border-radius:10px; font-size:var(--text-14); font-weight:600; line-height:1.4; text-align:center; cursor:pointer; }
.setup-card-dialog .setup-card-primary { flex:1; background:#18201b; border-color:#18201b; color:#f5f7f1; }
.setup-card-dialog .setup-card-secondary { flex:1; background:var(--surface,#fff); color:var(--ink,#192129); }
.setup-card-dialog .setup-card-retry { margin-top:8px; background:var(--surface,#fff); color:var(--ink,#192129); }
.setup-card-dialog button:disabled { opacity:.5; cursor:default; }
.setup-card-status { min-height:36px; margin:12px 0 0; font-size:var(--text-12); line-height:1.5; color:var(--muted,#5c6570); }
.setup-card-status[data-error="true"] { color:var(--danger,#a43131); }
@media(max-width:720px) {
  .setup-card-dialog { width:calc(100% - 16px); max-height:calc(100dvh - 16px); border-radius:16px; }
  .setup-card-header { padding:16px 16px 0; }
  .setup-card-header h2 { font-size:var(--text-28); }
  .setup-card-intro { margin:8px 16px 20px; }
  .setup-card-body { grid-template-columns:minmax(0,1fr); gap:24px; padding:0 16px max(16px,env(safe-area-inset-bottom)); }
  .setup-card-preview { padding:12px; }
  .setup-card-canvas { max-height:44dvh; }
  .setup-card-format { padding:12px; }
  .setup-card-dialog .setup-card-caption { min-height:120px; max-height:240px; }
  .setup-card-dialog .setup-card-full-caption { min-height:176px; }
  .setup-card-actions { position:sticky; bottom:0; background:var(--surface,#fff); padding:12px 0; margin-top:-8px; }
  .setup-card-status { margin-top:0; }
}
@media(max-width:370px) {
  .setup-card-format { padding:10px 8px; gap:6px; }
  .setup-card-format input { width:14px; height:14px; }
  .setup-card-dialog :is(.setup-card-primary,.setup-card-secondary) { padding-inline:10px; }
}
@media(forced-colors:active) {
  .setup-card-dialog,.setup-card-dialog :is(button,textarea,select),.setup-card-format { border:1px solid ButtonText; }
  .setup-card-format:has(input:checked) { border:3px solid Highlight; padding:8px; }
}
@media(prefers-reduced-motion:reduce) {
  .setup-card-dialog,.setup-card-dialog * { scroll-behavior:auto; animation:none; transition:none; }
}
