/*@3.FACC.1*/

/*@3.FACC.2*/
.fc-stats {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: .5rem; margin-bottom: 1rem; align-items: stretch;
}
.fc-stat { justify-content: center; }

/*@3.FACC.3*/
.sx-chips:has(> #fc-min) { display: flex; }
/*@3.FACC.4*/
#fc-min { flex: 1 1 auto; justify-content: center; block-size: var(--gs-fh); }
@media (max-width: 620px) {
  .fc-stats { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
}
.fc-stat {
  display: inline-flex; align-items: center; gap: .45rem;
  background: var(--bg-card); border: 1px solid var(--border-color);
  border-radius: var(--radius-pill); padding: .35rem .8rem;
  font-size: .8rem; color: var(--text-secondary);
}
.fc-stat > i { color: var(--st-accent, #a78bfa); font-size: .8rem; }
.fc-stat > b {
  font-family: 'JetBrains Mono', monospace; font-weight: 700;
  color: var(--text-primary);
}
.fc-stat--when { color: var(--text-muted); }
.fc-stat--when > i { color: var(--text-muted); }

/*@3.FACC.5*/
.fc-how {
  background: var(--bg-card); border: 1px solid var(--border-color);
  border-radius: var(--radius-lg); margin-bottom: 1rem; overflow: hidden;
}
.fc-how > summary {
  display: flex; align-items: center; gap: .5rem; cursor: pointer;
  padding: .7rem 1rem; font-size: .85rem; font-weight: 700;
  color: var(--text-secondary); list-style: none;
}
.fc-how > summary::-webkit-details-marker { display: none; }
.fc-how > summary > i { color: var(--st-accent, #a78bfa); }
.fc-how[open] > summary { border-bottom: 1px solid var(--border-color); }
.fc-how-b { padding: .9rem 1rem; font-size: .84rem; color: var(--text-secondary); line-height: 1.8; }
.fc-how-l { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem; margin: .6rem 0; padding: 0; }
.fc-how-l > li {
  background: var(--bg-elevated); border: 1px solid var(--border-color);
  border-radius: var(--radius-pill); padding: .2rem .7rem; font-size: .78rem;
}
.fc-how-l > li > b { color: var(--st-accent, #a78bfa); font-family: 'JetBrains Mono', monospace; }
.fc-how-note { color: var(--text-muted); font-size: .8rem; margin-top: .5rem; }

/*@3.FACC.6*/
.fc-grid {
  display: grid; gap: .75rem;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
}
.fc-card {
  background: var(--bg-card); border: 1px solid var(--border-color);
  border-radius: var(--radius-xl); padding: .9rem;
  cursor: pointer; transition: all .3s cubic-bezier(.4, 0, .2, 1);
  display: flex; flex-direction: column; gap: .6rem;
}
.fc-card:hover, .fc-card:focus-visible {
  border-color: #a78bfa; transform: translateY(-2px);
  box-shadow: 0 10px 15px -3px rgba(167, 139, 250, .12);
  outline: none;
}
/*@3.FACC.7*/
.fc-card.is-small { opacity: .82; }

.fc-c-top { display: flex; align-items: center; gap: .7rem; }
.fc-ring { flex-shrink: 0; }
.fc-c-id { min-width: 0; flex: 1; }
.fc-name {
  font-weight: 800; font-size: .96rem; color: var(--text-primary);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
/*@3.FACC.8*/
.fc-name.ltr, .fc-link.ltr, .fc-cms p.ltr, .fc-go-n.ltr,
.fc-dir-ar.ltr, .fc-d-name.ltr {
  direction: ltr; text-align: start;
}
[dir="rtl"] .fc-name.ltr, [dir="rtl"] .fc-link.ltr,
[dir="rtl"] .fc-cms p.ltr, [dir="rtl"] .fc-go-n.ltr,
[dir="rtl"] .fc-dir-ar.ltr, [dir="rtl"] .fc-d-name.ltr { text-align: right; }

.fc-n {
  display: flex; align-items: center; gap: .35rem; flex-wrap: wrap;
  font-size: .75rem; color: var(--text-muted); margin-top: .2rem;
}
.fc-n > i { font-size: .7rem; }
.fc-warn {
  background: rgba(245, 158, 11, .15); color: #f59e0b;
  border-radius: var(--radius-pill); padding: .05rem .45rem;
  font-size: .68rem; font-weight: 700;
}
.fc-warn--big {
  display: inline-block; margin-top: .4rem; padding: .25rem .6rem;
  font-size: .75rem; line-height: 1.5;
}
.fc-link {
  font-size: .72rem; color: var(--text-muted); margin-top: .25rem;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.fc-link > i { font-size: .65rem; margin-inline-end: .3rem; }

.fc-chips { display: flex; flex-wrap: wrap; gap: .3rem; }
.fc-chip {
  background: var(--bg-elevated); border: 1px solid var(--border-color);
  color: var(--text-secondary); border-radius: var(--radius-pill);
  padding: .12rem .55rem; font-size: .72rem; font-weight: 600;
}
.fc-chip.mono { font-family: 'JetBrains Mono', monospace; }
/*@3.FACC.9*/
.fc-chip--n { color: var(--text-muted); direction: ltr; unicode-bidi: isolate; }
/*@3.FACC.10*/
.fc-chip--raw { border-style: dashed; font-family: inherit; }
.fc-chip--go {
  text-decoration: none; display: inline-flex; align-items: center; gap: .3rem;
  transition: all .2s;
}
.fc-chip--go:hover { border-color: var(--st-accent, #a78bfa); color: var(--st-accent, #a78bfa); }
.fc-chip-n {
  font-family: 'JetBrains Mono', monospace; font-size: .65rem;
  color: var(--text-muted);
}

/*@3.FACC.11*/
.fc-d-head {
  display: flex; align-items: center; gap: 1rem;
  padding: 1rem; background: var(--bg-elevated);
  border: 1px solid var(--border-color); border-radius: var(--radius-lg);
  margin-bottom: 1rem;
}
.fc-d-idx { font-family: 'JetBrains Mono', monospace; font-size: 1.5rem; font-weight: 800; }
.fc-d-sub { font-size: .78rem; color: var(--text-muted); }
.fc-d-pct { font-size: .78rem; color: var(--text-secondary); margin-top: .35rem; }
.fc-d-h-t { min-width: 0; }

.fc-d-sec { margin-bottom: 1.1rem; }
.fc-d-sec > h4 {
  display: flex; align-items: center; gap: .45rem;
  font-size: .85rem; font-weight: 800; color: var(--text-secondary);
  margin: 0 0 .55rem;
}
.fc-d-n {
  background: var(--bg-elevated); border-radius: var(--radius-pill);
  padding: 0 .45rem; font-family: 'JetBrains Mono', monospace;
  font-size: .7rem; color: var(--text-muted);
}

/*@3.FACC.12*/
.fc-ax { margin-bottom: .6rem; }
.fc-ax-h {
  display: flex; align-items: baseline; gap: .45rem;
  font-size: .78rem; margin-bottom: .25rem;
}
.fc-ax-l { color: var(--text-secondary); font-weight: 600; }
.fc-ax-w {
  font-family: 'JetBrains Mono', monospace; font-size: .65rem;
  color: var(--text-muted);
}
.fc-ax-v { margin-inline-start: auto; font-family: 'JetBrains Mono', monospace; font-weight: 700; }
.fc-ax-n { font-size: .68rem; color: var(--text-muted); }
.fc-ax-bar {
  height: 6px; background: var(--bg-elevated);
  border-radius: var(--radius-pill); overflow: hidden;
}
.fc-ax-bar > i { display: block; height: 100%; border-radius: var(--radius-pill); transition: width .4s ease; }

/*@3.FACC.13*/
.fc-cms { display: flex; flex-direction: column; gap: .5rem; max-height: 420px; overflow-y: auto; }
.fc-cm {
  background: var(--bg-elevated); border: 1px solid var(--border-color);
  border-inline-start: 3px solid #a78bfa;
  border-radius: var(--radius-md); padding: .6rem .75rem;
}
.fc-cm > p { margin: 0; font-size: .85rem; line-height: 1.75; color: var(--text-secondary); }
.fc-cm-tag {
  display: inline-block; margin-bottom: .35rem;
  background: rgba(167, 139, 250, .15); color: var(--st-accent, #a78bfa);
  border-radius: var(--radius-pill); padding: .05rem .5rem;
  font-size: .68rem; font-weight: 700;
}
.fc-cm-tag--raw { background: var(--bg-card); color: var(--text-muted); }

.fc-cm-hd { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.fc-cm-hd > .fc-cm-tag { margin-bottom: 0; }
.fc-cm-d { margin-inline-start: auto; font-size: .68rem; color: var(--text-muted); }
.fc-cm:hover .gd-rep, .fc-cm:focus-within .gd-rep { opacity: 1; }
.fc-cm-hint { margin: 0 0 .5rem; font-size: .74rem; color: var(--text-muted); }

/*@3.FACC.34*/
.fc-cm-axes { display: flex; flex-wrap: wrap; gap: .3rem; margin-block: .45rem 0; }
/*@3.FACC.35*/
.fc-cm-ax {
  display: inline-flex; align-items: baseline; gap: .32rem;
  border: 1px solid var(--border-color); border-radius: var(--radius-pill);
  background: var(--bg-card);
  padding: .12rem .55rem; font-size: .72rem; line-height: 1.7;
  color: var(--text-secondary);
}
.fc-cm-ax > b { font-weight: 600; color: var(--text-muted); }
.fc-cm-ax > em { font-style: normal; font-weight: 700; color: var(--text-secondary); }
.fc-cm-ax[data-tone="ok"]  { border-color: color-mix(in oklab, var(--st-ok) 30%, transparent); }
.fc-cm-ax[data-tone="mid"] { border-color: color-mix(in oklab, var(--st-warn) 30%, transparent); }
.fc-cm-ax[data-tone="bad"] { border-color: color-mix(in oklab, var(--st-danger) 30%, transparent); }
.fc-cm-ax[data-tone="ok"]  > em { color: var(--st-ok); }
.fc-cm-ax[data-tone="mid"] > em { color: var(--st-warn); }
.fc-cm-ax[data-tone="bad"] > em { color: var(--st-danger); }
.fc-cm:has(> .fc-cm-axes:only-child) { border-inline-start-color: var(--border-color); }

.fc-note {
  display: flex; align-items: center; gap: .5rem;
  background: var(--bg-elevated); border: 1px dashed var(--border-color);
  border-radius: var(--radius-md); padding: .65rem .8rem;
  font-size: .8rem; color: var(--text-muted);
}
.fc-go {
  display: inline-flex; align-items: center; gap: .5rem;
  background: var(--bg-elevated); border: 1px solid var(--border-color);
  color: var(--text-secondary); border-radius: var(--radius-lg);
  padding: .55rem .85rem; font-size: .85rem; font-weight: 700;
  text-decoration: none; transition: all .2s;
}
.fc-go:hover { border-color: var(--st-accent, #a78bfa); color: var(--st-accent, #a78bfa); transform: translateY(-1px); }
.fc-go-n { font-family: 'JetBrains Mono', monospace; font-size: .72rem; color: var(--text-muted); }
.fc-rate { display: inline-flex; align-items: center; gap: .5rem; }

@media (max-width: 640px) {
  .fc-grid { grid-template-columns: 1fr; }
  .fc-stats { gap: .35rem; }
  .fc-stat { font-size: .74rem; padding: .3rem .6rem; }
  .fc-d-head { gap: .7rem; padding: .8rem; }
}

/*@3.FACC.14*/
.fc-form { display: flex; flex-direction: column; gap: .9rem; }
.fc-f { display: flex; flex-direction: column; gap: .3rem; }
.fc-f > label { font-size: .78rem; font-weight: 700; color: var(--text-secondary); }
.fc-in {
  background: var(--bg-elevated); border: 1px solid var(--border-color);
  color: var(--text-primary); border-radius: var(--radius-lg);
  padding: .55rem .8rem; font-family: inherit; font-size: .9rem; width: 100%;
}
.fc-in:focus { outline: none; border-color: var(--st-accent, #a78bfa); }
.fc-ta { resize: vertical; min-height: 4.5rem; line-height: 1.7; }

.fc-q { border-top: 1px solid var(--border-color); padding-top: .7rem; }
.fc-q-t { font-size: .85rem; font-weight: 700; color: var(--text-primary); margin-bottom: .45rem; }
.fc-q-o { display: flex; flex-wrap: wrap; gap: .4rem; }
.fc-opt {
  background: var(--bg-elevated); border: 1px solid var(--border-color);
  color: var(--text-secondary); border-radius: var(--radius-pill);
  padding: .35rem .9rem; font-family: inherit; font-size: .82rem;
  font-weight: 700; cursor: pointer; transition: all .2s;
}
.fc-opt:hover { border-color: var(--text-secondary); color: var(--text-primary); }
/*@3.FACC.15*/
.fc-opt.on.is-ok  { background: rgba(16,185,129,.15);  border-color: #10b981; color: #10b981; }
.fc-opt.on.is-mid { background: rgba(245,158,11,.15);  border-color: #f59e0b; color: #f59e0b; }
.fc-opt.on.is-bad { background: rgba(239,68,68,.13);   border-color: #ef4444; color: #ef4444; }

.fc-r-foot { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; }
.fc-r-msg { font-size: .8rem; color: var(--text-muted); }
.fc-r-msg.is-ok  { color: #10b981; font-weight: 700; }
.fc-r-msg.is-err { color: #ef4444; font-weight: 700; }
.fc-rate { display: inline-flex; align-items: center; gap: .5rem; border: none; cursor: pointer; }

/*@3.FACC.16*/
.fc-stat--go {
  cursor: pointer; font-family: inherit;
  /*@3.FACC.17*/
  border-color: var(--gs-accent, #a78bfa); color: var(--gs-accent, #a78bfa);
  background: color-mix(in srgb, var(--gs-accent, #a78bfa) 12%, transparent);
}
.fc-stat--go > i { color: inherit; }
.fc-stat--go:hover { background: rgba(167,139,250,.12); transform: translateY(-1px); }
/*@3.FACC.38*/
.fc-stat--ph { opacity: .5; pointer-events: none; cursor: default; }

/*@3.FACC.18*/
.fc-sug {
  display: flex; flex-direction: column; gap: .15rem; margin-top: .3rem;
  max-height: 210px; overflow-y: auto;
  background: var(--bg-surface); border: 1px solid var(--border-color);
  border-radius: var(--radius-lg); padding: .25rem;
}
.fc-sug-i {
  display: flex; align-items: center; gap: .5rem; width: 100%;
  background: none; border: none; color: var(--text-primary);
  font-family: inherit; font-size: .85rem; font-weight: 600;
  padding: .35rem .55rem; border-radius: var(--radius-md);
  cursor: pointer; text-align: start;
}
.fc-sug-i:hover { background: var(--bg-elevated); }
.fc-sug-en { font-size: .72rem; color: var(--text-muted); }
.fc-sug-en.ltr { direction: ltr; unicode-bidi: isolate; }
.fc-sug-n {
  margin-inline-start: auto; font-family: 'JetBrains Mono', monospace;
  font-size: .68rem; color: var(--text-muted);
}
/*@3.FACC.25*/
.fc-sug[hidden], .fc-crs-row[hidden] { display: none; }

/*@3.FACC.19*/
.fc-chip--amb { border-style: dashed; opacity: .82; }

/*@3.FACC.20*/
.fc-crs-row { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .4rem; }
.fc-crs {
  background: var(--bg-elevated); border: 1px solid var(--border-color);
  color: var(--text-secondary); border-radius: var(--radius-pill);
  padding: .25rem .7rem; font-family: 'JetBrains Mono', monospace;
  font-size: .78rem; font-weight: 700; cursor: pointer; transition: all .2s;
}
.fc-crs:hover { border-color: var(--text-secondary); color: var(--text-primary); }
.fc-crs.on {
  background: rgba(167,139,250,.15);
  border-color: var(--st-accent, #a78bfa); color: var(--st-accent, #a78bfa);
}

/*@3.FACC.21*/
.fc-r-who {
  display: flex; align-items: center; gap: .5rem; flex-wrap: wrap;
  background: var(--bg-elevated); border: 1px solid var(--border-color);
  border-radius: var(--radius-lg); padding: .55rem .8rem; font-size: .88rem;
}
.fc-r-who > i { color: var(--st-accent, #a78bfa); }

/*@3.FACC.24*/
.fc-r-swap {
  margin-inline-start: auto;
  display: inline-flex; align-items: center; gap: .35rem;
  background: none; border: 1px solid var(--border-color);
  color: var(--text-secondary); border-radius: var(--radius-pill);
  padding: .2rem .6rem; font-family: inherit; font-size: .74rem;
  font-weight: 700; cursor: pointer; transition: all .2s;
}
.fc-r-swap:hover { border-color: var(--text-secondary); color: var(--text-primary); }

/*@3.FACC.22*/
.fc-d-mail { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1rem; }
.fc-d-acts { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.fc-empty-i { font-size: 1.6rem; color: var(--text-muted); }

/*@3.FACC.23*/
.sx-prof-b {
  background: none; border: none; padding: 0; margin: 0;
  font: inherit; color: inherit; cursor: pointer;
  text-decoration: underline; text-decoration-style: dotted;
  text-underline-offset: 3px; text-decoration-color: var(--border-color);
}
.sx-prof-b:hover { color: var(--st-accent, #a78bfa); text-decoration-color: currentColor; }

/*@3.FACC.27*/
.fc-dir { margin-top: 1.4rem; }
.fc-dir[hidden] { display: none; }
.fc-dir-h {
  display: flex; align-items: center; gap: .5rem;
  font-size: .82rem; font-weight: 700; color: var(--text-secondary);
  padding-bottom: .55rem; margin-bottom: .75rem;
  border-block-end: 1px solid var(--border-color);
}
.fc-dir-h > i { color: var(--text-muted); font-size: .8rem; }
.fc-dir-n {
  margin-inline-start: auto; font-family: 'JetBrains Mono', monospace;
  font-size: .72rem; color: var(--text-muted);
}
.fc-card--dir { border-style: dashed; }
.fc-dir-ring {
  inline-size: 54px; block-size: 54px; flex-shrink: 0;
  display: grid; place-items: center;
  border: 1px dashed var(--border-color); border-radius: 50%;
  color: var(--text-muted); font-size: 1.05rem;
}
/*@3.FACC.28*/
.fc-dir-ar {
  font-size: .8rem; color: var(--text-secondary); margin-top: .2rem;
  display: flex; align-items: center; gap: .4rem; flex-wrap: wrap;
}
/*@3.FACC.36*/
.fc-dir-age {
  font-size: .7rem; color: var(--text-muted); margin-top: .15rem;
  line-height: 1.5;
}
.fc-dir-src {
  font-size: .65rem; font-weight: 600; color: var(--text-muted);
  border: 1px solid var(--border-color); border-radius: var(--radius-pill);
  padding: .02rem .4rem;
}
.fc-dir-cta {
  display: flex; align-items: center; gap: .4rem;
  font-size: .76rem; font-weight: 700; color: var(--st-accent, #a78bfa);
}
.fc-dir-cta > i { font-size: .72rem; }

.fc-d-head--empty { align-items: flex-start; }
.fc-d-name {
  font-weight: 800; font-size: 1rem; color: var(--text-primary);
  direction: ltr; unicode-bidi: isolate; text-align: start;
}
[dir="rtl"] .fc-d-name { text-align: right; }

/*@3.FACC.26*/
.fc-hint {
  display: flex; align-items: flex-start; gap: .45rem;
  margin-top: .4rem; font-size: .74rem; line-height: 1.65;
  color: var(--text-muted);
}
.fc-hint > i { margin-top: .18rem; font-size: .7rem; }

.fc-sug-h {
  padding: .45rem .55rem .25rem; font-size: .7rem; font-weight: 700;
  color: var(--text-muted); border-block-start: 1px solid var(--border-color);
  margin-top: .25rem;
}
.fc-sug-none { padding: .5rem .55rem; font-size: .76rem; color: var(--text-muted); line-height: 1.6; }
.fc-sug-i.is-dir > .ltr { direction: ltr; unicode-bidi: isolate; }
.fc-sug-n--new {
  border: 1px solid var(--border-color); border-radius: var(--radius-pill);
  padding: .02rem .4rem; font-family: inherit; font-weight: 700;
}
.fc-r-new {
  font-size: .68rem; font-weight: 700; color: var(--text-muted);
  border: 1px solid var(--border-color); border-radius: var(--radius-pill);
  padding: .05rem .45rem;
}
/*@3.FACC.29*/
.fc-nudge {
  display: inline-flex; align-items: center; gap: .4rem;
  margin-top: .45rem; padding: .18rem .6rem;
  border: 1px solid color-mix(in oklab, #10b981 45%, transparent);
  background: color-mix(in oklab, #10b981 12%, transparent);
  color: #10b981; border-radius: var(--radius-pill);
  font-size: .74rem; font-weight: 700; line-height: 1.6;
}
.fc-nudge > i { font-size: .7rem; }

/*@3.FACC.30*/
.fc-more-row { display: flex; gap: .4rem; align-items: stretch; }
.fc-more-row > .fc-in { flex: 1 1 auto; min-inline-size: 0; }
.fc-more-add {
  flex: none; display: inline-flex; align-items: center; gap: .35rem;
  background: var(--bg-elevated); border: 1px solid var(--border-color);
  color: var(--text-secondary); border-radius: var(--radius-lg);
  padding-inline: .8rem; font-family: inherit; font-size: .82rem;
  font-weight: 700; cursor: pointer; transition: all .2s;
}
.fc-more-add:hover {
  border-color: var(--st-accent, #a78bfa); color: var(--st-accent, #a78bfa);
}
.fc-more-add:focus-visible {
  outline: 2px solid var(--st-accent, #a78bfa); outline-offset: 2px;
}

/*@3.FACC.31*/
.fc-kept {
  display: flex; align-items: center; gap: .5rem;
  font-size: .78rem; line-height: 1.7; color: var(--text-secondary);
  background: color-mix(in srgb, var(--st-accent, #a78bfa) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--st-accent, #a78bfa) 34%, transparent);
  border-radius: var(--radius-lg); padding: .45rem .7rem;
}
.fc-kept > i { color: var(--st-accent, #a78bfa); }

/*@3.FACC.32*/
.fc-r-clear {
  display: inline-flex; align-items: center; gap: .4rem;
  background: none; border: 1px solid var(--border-color);
  color: var(--text-secondary); border-radius: var(--radius-lg);
  padding: .5rem .9rem; font-family: inherit; font-size: .8rem;
  font-weight: 700; cursor: pointer; transition: all .2s;
}
.fc-r-clear:hover { color: var(--text-primary); border-color: var(--text-muted); }
.fc-r-clear:focus-visible {
  outline: 2px solid var(--st-accent, #a78bfa); outline-offset: 2px;
}

/*@3.FACC.33*/
@media (max-width: 520px) {
  .fc-more-add > span { display: none; }
  .fc-more-add { padding-inline: .75rem; }
  .fc-r-foot > .sx-primary, .fc-r-foot > .fc-r-clear {
    flex: 1 1 8rem; display: inline-flex; align-items: center;
    justify-content: center; gap: .45rem; padding-inline: 1rem;
  }
  .fc-r-msg { flex: 1 1 100%; }
}
