/* QR Code Generator — the text card (input, status, downloads) beside the
   preview card, with appearance settings in a docked Options sheet (layout
   from styles/components/form.css + uploader.css; the logo comes in through an
   .uploader--row; the preview is a styles/components/preview.css paper
   stage, the text field a styles/components/editor.css pane). Only the 3×2
   module grid is the page's own. */

textarea.qr-text {
  min-height: 96px;
}

/* Module shapes are an even 6 items — lay them out as a clean 3×2 grid
   so the last shape doesn't strand on its own row. Scoped to this group
   so the shared .segment component and the 3-item eye group are untouched. */
#qr-module-shape {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
#qr-module-shape .segment__btn {
  flex: none;
}

.qr-empty {
  color: var(--text-muted);
  font-size: 15px;
  letter-spacing: -0.01em;
}

/* Never squeeze a download button below its icon + label: when the pair
   doesn't fit side by side (longer ko/ja labels) the row wraps and each
   button fills its own line instead of clipping the label and the icon. */
.qr-actions > .btn { min-width: max-content; }
