.fac-main{padding:1rem 0}.fac-page-header{margin-bottom:.6rem}.fac-page-header h1{margin:0;font-size:clamp(1.4rem,2.5vw,1.9rem)}.fac-page-header p{margin:.15rem 0 0;color:var(--muted);font-size:.85rem}.fac-controls{display:flex;align-items:flex-end;gap:.65rem;padding-bottom:.65rem;border-bottom:1px solid var(--border);flex-wrap:wrap}.fac-ctl{display:flex;flex-direction:column;gap:.2rem}.fac-ctl label{font-size:.75rem;color:var(--muted);font-weight:500}.fac-ctl select{min-height:2.1rem;font-size:.88rem;border:1px solid var(--border);border-radius:6px;background:var(--panel-muted);color:var(--text);padding:.3rem .6rem;font:inherit}.fac-ctl-search{flex:1;min-width:160px}.fac-search-wrap{position:relative}.fac-search-icon{position:absolute;left:.6rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}#gic-search{width:100%;min-height:2.1rem;padding:.3rem .6rem .3rem 2.2rem;border:1px solid var(--border);border-radius:6px;background:var(--panel-muted);color:var(--text);font-size:.88rem;font:inherit}#gic-search:focus{outline:3px solid color-mix(in srgb,var(--accent) 40%,transparent);outline-offset:1px}.fac-count{color:var(--muted);font-size:.8rem;align-self:flex-end;padding-bottom:.4rem;white-space:nowrap;min-width:6rem}.fac-workspace{display:grid;grid-template-columns:1fr 350px;gap:.75rem;height:calc(100vh - 230px);min-height:420px;margin-top:.65rem}.fac-grid-wrap{overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.fac-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:.25rem;padding:.6rem}.fac-no-results{padding:2rem;text-align:center;color:var(--muted);font-size:.9rem;margin:0}.fac-tile{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.28rem;padding:.5rem .2rem .4rem;border-radius:6px;cursor:pointer;border:2px solid transparent;background:transparent;color:var(--text);text-align:center;transition:border-color .1s,background .1s;min-width:0}.fac-tile:hover{background:var(--panel-muted);border-color:var(--border)}.fac-tile.selected{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:var(--accent)}.fac-tile span.material-symbols-outlined,.fac-tile span.material-symbols-rounded,.fac-tile span.material-symbols-sharp{font-size:1.6rem;line-height:1;font-variation-settings:"FILL" var(--gic-fill, 0),"wght" var(--gic-weight, 400),"GRAD" 0,"opsz" 24;max-width:100%;overflow:hidden;white-space:nowrap}.fac-tile-name{font-size:.59rem;color:var(--muted);word-break:break-all;line-height:1.2;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.fac-sidebar{border:1px solid var(--border);border-radius:8px;background:var(--panel);overflow-y:auto;display:flex;flex-direction:column}.fac-empty-state{flex:1;display:flex;align-items:center;justify-content:center;color:var(--muted);padding:1.5rem;text-align:center}.fac-empty-state p{margin:0;font-size:.88rem}.fac-detail{padding:.85rem;display:flex;flex-direction:column;gap:.6rem}.fac-preview{display:flex;align-items:center;justify-content:center;height:82px;background:var(--panel-muted);border-radius:8px;border:1px solid var(--border);flex-shrink:0}.fac-preview span{font-size:3rem;color:var(--accent);font-variation-settings:"FILL" var(--gic-fill, 0),"wght" var(--gic-weight, 400),"GRAD" 0,"opsz" 48}.fac-icon-meta{display:flex;flex-direction:column;gap:.15rem}.fac-icon-meta strong{font-size:.95rem}.fac-code-inline{font-family:ui-monospace,Cascadia Code,monospace;font-size:.72rem;color:var(--muted);word-break:break-all}.fac-lang-ctl,.fac-lang-ctl select{width:100%}.fac-code-wrap{background:var(--panel-muted);border:1px solid var(--border);border-radius:6px;overflow:auto;min-height:80px;max-height:280px}.fac-code{margin:0;padding:.6rem .75rem;font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:.74rem;line-height:1.55;color:var(--accent);white-space:pre}.fac-copy-btn{width:100%;font-size:.88rem;min-height:2.1rem}@media(max-width:760px){.fac-workspace{grid-template-columns:1fr;height:auto}.fac-grid-wrap{height:50vh}.fac-sidebar{min-height:320px}}
