.fng-app{font-family:var(--font-sans);color:var(--fg-body);max-width:var(--max-width-page);margin:0 auto;padding:var(--space-5) 0 var(--space-7);display:grid;gap:var(--space-6)}.fng-controls{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-6);display:grid;gap:var(--space-5)}.fng-control-group{display:grid;gap:var(--space-3)}.fng-control-row{display:flex;flex-wrap:wrap;gap:var(--space-6);align-items:start}.fng-control-label{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--gilt);margin:0}.fng-pill-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.fng-pill{display:inline-flex;align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--bg-inset);border:1px solid var(--border-soft);border-radius:var(--radius-pill);font-family:var(--font-serif);color:var(--fg);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.fng-pill:hover{background:var(--bg-raised);border-color:var(--gilt-soft)}.fng-pill--active,.fng-pill--active:hover{background:var(--bg-raised);border-color:var(--gilt);box-shadow:inset 0 0 0 1px var(--gilt-soft)}.fng-pill--empty{opacity:.45;font-style:italic}.fng-pill-label{font-size:var(--text-md);letter-spacing:var(--tracking-snug);font-weight:500}.fng-pill-display{font-size:var(--text-xs);color:var(--fg-muted);font-style:italic}.fng-toggle-row{display:inline-flex;border:1px solid var(--border-soft);border-radius:var(--radius-md);overflow:hidden;width:fit-content}.fng-toggle{background:var(--bg-inset);border:0;border-right:1px solid var(--border-soft);padding:var(--space-2) var(--space-5);font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);color:var(--fg-muted);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.fng-toggle:last-child{border-right:0}.fng-toggle:hover{background:var(--bg-raised);color:var(--fg)}.fng-toggle--active,.fng-toggle--active:hover{background:var(--gilt-soft);color:var(--fg)}.fng-empty-hint{font-family:var(--font-serif);font-size:var(--text-sm);color:var(--fg-muted);font-style:italic;line-height:var(--lh-relaxed);background:var(--bg-inset);border:1px dashed var(--border-soft);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin:0;max-width:70ch}.fng-empty-hint code{font-family:var(--font-mono);font-size:.95em;font-style:normal;background:var(--bg);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:1px 4px}.fng-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.fng-btn{font-family:var(--font-sans);font-size:var(--text-base);letter-spacing:var(--tracking-wide);background:var(--gilt);color:var(--bg);border:0;padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.fng-btn:hover{background:var(--gilt-hover)}.fng-btn:disabled{opacity:.5;cursor:default}.fng-btn--secondary{background:transparent;color:var(--fg);border:1px solid var(--border)}.fng-btn--secondary:hover{background:var(--bg-raised);border-color:var(--gilt-soft)}.fng-btn--batch{background:var(--bg-raised);color:var(--fg);border:1px solid var(--gilt-soft)}.fng-btn--batch:hover{background:var(--bg-elevated);border-color:var(--gilt)}.fng-btn--small{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.fng-workshop{background:var(--bg-inset);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:var(--space-6);display:grid;gap:var(--space-4)}.fng-workshop-intro{font-family:var(--font-serif);font-size:var(--text-md);line-height:var(--lh-relaxed);color:var(--fg-muted);margin:0;max-width:64ch}.fng-workshop-row{display:grid;grid-template-columns:1fr 1fr auto;gap:var(--space-3);align-items:end}@media(max-width:720px){.fng-workshop-row{grid-template-columns:1fr}}.fng-workshop-field{display:grid;gap:var(--space-2)}.fng-workshop-field-label{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--gilt)}.fng-workshop-input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--fg);font-family:var(--font-serif);font-size:var(--text-md);padding:var(--space-3)}.fng-workshop-input:focus{outline:0;border-color:var(--gilt);box-shadow:0 0 0 2px var(--gilt-soft)}.fng-workshop-output{display:grid;gap:var(--space-4)}.fng-drift-block{background:var(--bg);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:var(--space-4);display:grid;gap:var(--space-3)}.fng-drift-header{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--gilt)}.fng-drift-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.fng-drift-name{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--fg)}.fng-drift-input{opacity:.55;margin-right:var(--space-2)}.fng-drift-arrow{color:var(--gilt);margin:0 var(--space-2)}.fng-drift-rules{display:grid;gap:var(--space-2);border-top:1px solid var(--border-soft);padding-top:var(--space-3)}.fng-drift-rules-label{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--fg-subtle)}.fng-drift-rules-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-1)}.fng-drift-rules-list li{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--fg-muted)}.fng-drift-rules-list li:before{content:"· ";color:var(--gilt);margin-right:var(--space-1)}.fng-drift-rules-none{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--fg-quiet);font-style:italic}.fng-output{display:grid;gap:var(--space-3)}.fng-output--empty{background:var(--bg-inset);border:1px dashed var(--border-soft);border-radius:var(--radius-md);padding:var(--space-7) var(--space-5);text-align:center;font-family:var(--font-serif);color:var(--fg-muted);font-style:italic}.fng-name-wrap{display:grid}.fng-name-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5)}.fng-name-text{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--fg);letter-spacing:var(--tracking-snug)}.fng-name-text--featured{font-size:clamp(var(--text-2xl),4vw,var(--text-3xl));letter-spacing:var(--tracking-tight)}.fng-name-actions{display:flex;gap:var(--space-2);flex-shrink:0}.fng-icon-btn{width:32px;height:32px;border-radius:var(--radius-pill);border:1px solid var(--border-soft);background:var(--bg-inset);color:var(--fg-muted);font-family:var(--font-serif);font-size:var(--text-base);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.fng-icon-btn:hover:not(:disabled){background:var(--bg-raised);border-color:var(--gilt);color:var(--gilt)}.fng-icon-btn:disabled{opacity:.6;cursor:default}.fng-icon-btn--info{font-style:italic;font-weight:600}.fng-icon-btn--open,.fng-icon-btn--sealed{background:var(--gilt-soft);color:var(--fg);border-color:var(--gilt)}.fng-icon-btn--toggle-off{color:var(--fg-quiet)}.fng-icon-btn--delete:hover:not(:disabled){background:var(--bg-raised);border-color:var(--ember, #c93820);color:var(--ember, #c93820)}.fng-etymology{margin-top:-1px;background:var(--bg-inset);border:1px solid var(--border-soft);border-top:0;border-radius:0 0 var(--radius-md) var(--radius-md);padding:var(--space-4) var(--space-5);display:grid;gap:var(--space-3)}.fng-etymology-row{display:grid;grid-template-columns:minmax(140px,200px) 1fr;gap:var(--space-4)}@media(max-width:540px){.fng-etymology-row{grid-template-columns:1fr;gap:var(--space-1)}}.fng-etymology-component{font-family:var(--font-serif);font-size:var(--text-md);color:var(--fg);letter-spacing:var(--tracking-snug)}.fng-etymology-meaning{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--fg-muted);line-height:var(--lh-relaxed)}.fng-sealed,.fng-additions{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6)}.fng-section-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);border-bottom:1px solid var(--border-soft);padding-bottom:var(--space-3)}.fng-section-title{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--fg);font-weight:500;margin:0;letter-spacing:var(--tracking-snug)}.fng-section-subtitle{color:var(--fg-muted);font-size:var(--text-sm);font-weight:400;font-style:italic}.fng-section-count{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--fg-subtle);letter-spacing:var(--tracking-wider);text-transform:uppercase}.fng-section-empty{font-family:var(--font-serif);font-size:var(--text-md);color:var(--fg-muted);font-style:italic;margin:0 0 var(--space-4)}.fng-section-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.fng-sealed-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-2)}.fng-sealed-item{display:flex;align-items:center;gap:var(--space-2);background:var(--bg-inset);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-family:var(--font-serif);color:var(--fg)}.fng-sealed-name{flex:1;font-size:var(--text-md)}.fng-race-tag{font-family:var(--font-sans);font-size:10px;font-weight:600;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--gilt);background:var(--gilt-soft);padding:2px var(--space-2);border-radius:var(--radius-sm);white-space:nowrap}.fng-additions-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.fng-addition-item{display:flex;align-items:center;gap:var(--space-3);background:var(--bg-inset);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.fng-addition-item--disabled{opacity:.55}.fng-addition-main{flex:1;display:grid;gap:2px}.fng-addition-name{font-family:var(--font-serif);font-size:var(--text-md);color:var(--fg);display:flex;align-items:center;gap:var(--space-2)}.fng-addition-tag{font-family:var(--font-sans);font-size:10px;font-weight:600;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--gilt);background:var(--gilt-soft);padding:2px var(--space-2);border-radius:var(--radius-sm)}.fng-addition-tag--surname{color:var(--fg);background:var(--border-soft)}.fng-addition-origin{font-family:var(--font-serif);font-size:var(--text-sm);color:var(--fg-subtle);font-style:italic}.fng-addition-controls{display:flex;gap:var(--space-2)}.fng-additions-import-input{display:none}.ad-wrap[data-astro-cid-qncigsct]{margin:var(--space-7) 0}.ad-wrap--top[data-astro-cid-qncigsct]{margin:0 0 var(--space-6)}.about-tool[data-astro-cid-qncigsct]{max-width:var(--max-width-page);padding:var(--space-4) 0}.about-grid[data-astro-cid-qncigsct]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-7)}@media(max-width:780px){.about-grid[data-astro-cid-qncigsct]{grid-template-columns:1fr;gap:var(--space-5)}}.about-col[data-astro-cid-qncigsct] .eyebrow[data-astro-cid-qncigsct]{color:var(--gilt);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin:0 0 var(--space-3)}.about-col[data-astro-cid-qncigsct] h2[data-astro-cid-qncigsct]{font-family:var(--font-serif);font-size:clamp(var(--text-2xl),3vw,var(--text-3xl));line-height:var(--lh-tight);color:var(--fg);font-weight:500;margin:0 0 var(--space-4)}.about-col[data-astro-cid-qncigsct] h2[data-astro-cid-qncigsct] em[data-astro-cid-qncigsct]{color:var(--gilt);font-style:italic;font-weight:400}.about-col[data-astro-cid-qncigsct] h3[data-astro-cid-qncigsct]{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--fg);font-weight:500;margin:var(--space-5) 0 var(--space-2)}.about-col[data-astro-cid-qncigsct] p[data-astro-cid-qncigsct]{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--lh-relaxed);color:var(--fg-body);max-width:62ch;margin:0 0 var(--space-3)}
