/* format-chip.css — interactive segments for the prompt panel format chip
 * + the popover that opens when a segment is clicked. Theme-aware via
 * existing semantic tokens; reused for image / video / audio nodes.
 */

.cg-format-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--surface-hover);
  border: 1px solid var(--border);
  border-radius: 9999px;
  padding: 4px 8px;
  font-size: 11px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  color: var(--text-secondary);
  letter-spacing: 0.02em;
}
.cg-format-chip .sep { color: var(--text-muted); }
.cg-format-chip .cg-chip-segment {
  background: transparent;
  border: 1px solid transparent;
  color: inherit;
  font: inherit;
  padding: 2px 6px;
  border-radius: 6px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.cg-format-chip .cg-chip-segment:hover {
  background: var(--surface);
  color: var(--text);
}
.cg-format-chip .cg-chip-segment.is-active { color: var(--text); }
.cg-format-chip .cg-chip-segment[disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}
.cg-format-chip .cg-chip-segment .caret {
  font-size: 9px;
  opacity: 0.7;
}
.cg-format-chip .cg-audio-toggle {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 2px 4px;
  border-radius: 6px;
  color: var(--text-muted);
  font-size: 13px;
}
.cg-format-chip .cg-audio-toggle.is-active {
  color: var(--accent);
  background: color-mix(in srgb, var(--accent) 12%, transparent);
}
.cg-format-chip .cg-audio-toggle:hover { background: var(--surface); }

/* ── Popover (the dropdown that opens from a segment) ──────── */
.cg-popover {
  position: fixed;
  z-index: 95;
  min-width: 200px;
  max-width: 320px;
  background: var(--surface);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: var(--shadow);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  padding: 10px;
  font-family: inherit;
  font-size: 12.5px;
  animation: cgPopIn 120ms ease-out;
}
@keyframes cgPopIn {
  from { opacity: 0; transform: translateY(-2px); }
  to   { opacity: 1; transform: translateY(0); }
}
.cg-popover .pop-header {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 8px;
  padding: 0 4px;
}

/* Aspect popover — grid of visual rectangles + label below. */
.cg-popover .aspect-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(64px, 1fr));
  gap: 6px;
}
.cg-popover .cg-aspect-option {
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 8px 6px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  font-family: inherit;
  color: var(--text-secondary);
  transition: background 100ms, border-color 100ms;
}
.cg-popover .cg-aspect-option:hover {
  background: var(--surface-hover);
  color: var(--text);
}
.cg-popover .cg-aspect-option.is-active {
  border-color: var(--accent);
  color: var(--text);
  background: color-mix(in srgb, var(--accent) 10%, transparent);
}
.cg-popover .cg-aspect-thumb {
  width: 36px;
  max-height: 36px;
  background: var(--bg-elevated);
  border: 1px solid var(--border-strong, var(--border));
  border-radius: 4px;
}
.cg-popover .cg-aspect-label { font-size: 11px; font-weight: 600; }
.cg-popover .cg-aspect-credits { font-size: 10px; color: var(--text-muted); }

/* List popover — radio rows for resolution / duration. */
.cg-popover .pop-list { display: flex; flex-direction: column; gap: 2px; }
.cg-popover .cg-list-option {
  background: transparent;
  border: none;
  border-radius: 6px;
  padding: 8px 10px;
  cursor: pointer;
  display: grid;
  grid-template-columns: 14px 1fr auto;
  align-items: center;
  gap: 8px;
  text-align: left;
  font-family: inherit;
  color: var(--text);
  font-size: 12.5px;
}
.cg-popover .cg-list-option:hover { background: var(--surface-hover); }
.cg-popover .cg-list-option.is-active { background: var(--surface-hover); }
.cg-popover .cg-list-option[disabled] { opacity: 0.4; cursor: not-allowed; }
.cg-popover .cg-list-option .radio {
  width: 12px; height: 12px;
  border-radius: 50%;
  border: 1.5px solid var(--border-strong, var(--border));
  display: inline-block;
}
.cg-popover .cg-list-option.is-active .radio {
  border-color: var(--accent);
  background: var(--accent);
  box-shadow: inset 0 0 0 2px var(--surface);
}
.cg-popover .cg-list-option .label { display: flex; flex-direction: column; gap: 2px; }
.cg-popover .cg-list-option .label .sub { font-size: 10px; color: var(--text-muted); }
.cg-popover .cg-list-option .credits {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  font-weight: 600;
  color: var(--accent);
}
.cg-popover .pop-empty { font-size: 12px; color: var(--text-muted); padding: 8px 4px; }
