/* Name generator pages (dnd-name-generator and the per-race pages). Loaded after app.css. */
.name-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end;margin-bottom:16px}
.name-controls.fixed{grid-template-columns:1fr}
.name-controls .lang-group label{font-family:'Cinzel',serif;font-size:10px;letter-spacing:0.2em;color:var(--gold);opacity:0.8;text-transform:uppercase}
.name-generate{margin-top:4px}
.name-results,.name-shared-list{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.name-results{min-height:520px}
.name-shared{margin-bottom:6px}
.name-shared h2{font-family:'Cinzel',serif;font-size:1.05rem;color:var(--ink);letter-spacing:0.05em}
.name-shared-list{grid-template-columns:1fr}
.name-card{background:var(--parch3);border:1px solid var(--border-dim);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.name-fantasy{font-family:'Cinzel',serif;font-size:1.25rem;font-weight:600;color:var(--gold);letter-spacing:0.04em;overflow-wrap:anywhere}
.name-meaning{font-size:14px;color:var(--ink-dim);font-style:italic}
.name-parts{font-size:13px;line-height:1.35;color:var(--ink-muted);overflow-wrap:anywhere}
.name-table .name-parts{display:block;margin-top:2px}
.name-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.name-actions .action-btn{min-height:36px}
.name-decode{color:var(--gold);font-size:14px;padding:8px 6px;display:inline-block}
.name-decode:focus-visible,.name-race-more a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.name-status{margin-top:12px;font-size:13px;color:var(--ink-dim);min-height:1.4em;overflow-wrap:anywhere}
.name-race-more{margin-top:8px;font-size:14px;color:var(--ink-muted)}
.name-race-more a{color:var(--gold)}
.name-table th:nth-child(2),.name-table td:nth-child(2){white-space:normal}
.name-table-hub td:nth-child(3){white-space:nowrap}
.name-table td:first-child{color:var(--gold);font-family:'Cinzel',serif;font-size:14px;letter-spacing:0.03em}
.hub-races{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;list-style:none;margin:14px 0 18px;padding:0}
.hub-races li{margin:0}
.hub-races a{display:block;border:1px solid var(--border-dim);border-radius:var(--radius);padding:14px 16px;text-decoration:none;color:var(--gold);font-family:'Cinzel',serif;font-size:14px;letter-spacing:0.04em}
.hub-races a:hover{border-color:var(--gold)}
.hub-races a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.hub-races span{display:block;margin-top:4px;color:var(--ink-dim);font-family:'Crimson Text',serif;font-size:14px;letter-spacing:0}
.name-link{margin-top:6px}
@media(max-width:600px){
  .name-controls{grid-template-columns:1fr}
  .name-results{grid-template-columns:1fr}
  .name-actions .action-btn{min-height:44px}
  .name-decode{padding:12px 6px}
}

.seo-lead{margin-bottom:16px}

.seo-section ul.virtue-names{list-style:none;margin:6px 0 16px;padding:0;column-count:3;column-gap:20px;max-width:560px}
.seo-section ul.virtue-names li{margin:0 0 6px;break-inside:avoid;font-family:'Cinzel',serif;font-size:14px;letter-spacing:0.03em;color:var(--gold)}
@media(max-width:600px){.seo-section ul.virtue-names{column-count:2}}
