.rt-generator { min-width: 0; }
.rt-generator .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.rt-generator .generator-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0; }
.rt-generator .text-tool-select { color-scheme: dark; background-color: #142722; }
.rt-generator .generator-check { display: flex; align-items: center; gap: .65rem; min-height: 44px; font-size: .875rem; cursor: pointer; }
.rt-generator input[type="checkbox"] { width: 20px; height: 20px; flex-shrink: 0; accent-color: #73d8ad; }
.rt-generator input:focus-visible { outline: 2px solid #73d8ad; outline-offset: 3px; }
.rt-generator .generator-help { font-size: .8125rem; color: #b1c3b9; line-height: 1.6; margin: .75rem 0; }
.rt-generator .text-tool-textarea { min-height: 8rem; }
.rt-generator #password-output { min-height: 6rem; font-family: "IBM Plex Mono", monospace; overflow-wrap: anywhere; }
.rt-generator .text-tool-button:disabled { opacity: .5; cursor: not-allowed; }
.rt-generator #qr-preview { margin-top: 1.25rem; text-align: center; }
.rt-generator #qr-canvas { display: block; width: min(100%, 320px); height: auto; margin: 0 auto; image-rendering: pixelated; }
.rt-generator fieldset { min-width: 0; margin-bottom: 1rem; }
.rt-generator fieldset .generator-options { margin-top: .25rem; }
@media (max-width: 639px) { .rt-generator .generator-options { grid-template-columns: minmax(0, 1fr); gap: .5rem; } }
