.gen{padding:var(--space-6);margin:var(--space-6) 0}.gen .filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.gen .field{display:flex;flex-direction:column;gap:.35rem;min-width:0;font-weight:700;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.gen .field-wide{grid-column:1 / -1}.gen select,.gen input[type=text]{width:100%;min-width:0;font:inherit;font-weight:600;text-transform:none;letter-spacing:0;color:var(--text);padding:.7rem .9rem;min-height:46px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;appearance:none;text-overflow:ellipsis}.gen input[type=text]{cursor:text;font-weight:500}.gen input[type=text]::placeholder{color:var(--text-muted)}.gen select:focus-visible,.gen input[type=text]:focus-visible{outline:3px solid var(--accent-2);outline-offset:2px}.gen .chip-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.gen .chip{font:inherit;font-weight:600;font-size:.9rem;text-transform:none;letter-spacing:0;padding:.5rem .9rem;min-height:40px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .1s ease}.gen .chip:hover{border-color:var(--accent-soft);transform:translateY(-1px)}.gen .chip.is-active{background:var(--accent);color:#fff;border-color:var(--accent)}.gen .chip:focus-visible{outline:3px solid var(--accent-2);outline-offset:2px}.gen .count-row{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-2) 0 var(--space-6);font-weight:700;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.gen .count-row input[type=range]{flex:1;accent-color:var(--accent)}.gen .count-row output{min-width:1.5em;text-align:right;color:var(--accent);font-size:1.1rem}.gen .btn-main{display:flex;margin:var(--space-2) auto 0}.gen .results-head:not([hidden]){display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2) var(--space-4);margin:var(--space-6) 0 var(--space-4)}.gen .results-title{font-size:.95rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.gen .results-hint{margin:0;font-size:.85rem;font-weight:600;color:var(--accent-hover)}.gen .grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:560px){.gen .grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:880px){.gen .grid{grid-template-columns:repeat(3,1fr)}}.gen .name-card{position:relative;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);cursor:pointer;transition:transform .12s ease,box-shadow .15s ease,border-color .15s ease}.gen .name-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--accent-soft)}.gen .name-card .badge{display:inline-block;background:var(--text);color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.25rem .6rem;border-radius:var(--radius-pill)}.gen .name-card .handle{display:block;font-family:var(--font-display);font-weight:800;font-size:1.35rem;margin:.5rem 0 .15rem;word-break:break-word}.gen .name-card .aka{display:block;color:var(--accent-hover);font-weight:600;font-size:.9rem}.gen .name-card .desc{display:block;color:var(--text-muted);font-size:.9rem;margin-top:.4rem}.gen .name-card .desc b{color:var(--text);font-weight:700;font-size:1.05em}.gen .name-card .desc i{font-style:italic}.gen .name-card .desc .alt{display:inline-block;margin-top:.3rem;font-size:.85rem;opacity:.85}.gen .name-card .links{display:block;margin-top:.55rem;font-size:.78rem;font-weight:600;color:var(--text-muted)}.gen .name-card .links a{color:var(--text);text-decoration:underline;text-underline-offset:2px}.gen .name-card .copy-tag{position:absolute;top:var(--space-4);right:var(--space-4);font-size:.7rem;font-weight:700;color:var(--accent);opacity:0;transition:opacity .15s ease}.gen .name-card:hover .copy-tag,.gen .name-card.copied .copy-tag{opacity:1}.gen .name-card.copied{border-color:var(--accent)}
