:root{--ais-d-bg: #121611;--ais-d-panel: #171b14;--ais-d-cell: #1d2219;--ais-d-rule: rgba(239, 236, 226, .14);--ais-d-fg: #efece2;--ais-d-muted: #b3b29f;--ais-d-gold: #d6be80;--ais-d-khaki: #c9b480;--ais-d-on-khaki: #15180f;--ais-d-ok: #a9c48a;--ais-d-err: #f0a48c;--ais-l-bg: #f4f2ea;--ais-l-panel: #fbfaf5;--ais-l-cell: #eceae0;--ais-l-rule: rgba(30, 34, 25, .16);--ais-l-fg: #1c2018;--ais-l-muted: #545a4b;--ais-l-gold: #7a6630;--ais-l-khaki: #7a6630;--ais-l-on-khaki: #fbfaf5;--ais-l-ok: #3f6328;--ais-l-err: #9a3b22;--ais-font-serif: "Playfair Display", Georgia, serif;--ais-font-sans: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ais-font-mono: "IBM Plex Mono", ui-monospace, monospace;--ais-r-sm: 6px;--ais-r: 10px;--ais-r-lg: 14px;--ais-r-pill: 999px;--ais-sp-1: 4px;--ais-sp-2: 8px;--ais-sp-3: 12px;--ais-sp-4: 16px;--ais-sp-6: 24px;--ais-tap: 44px;--ais-focus-w: 2px;--ais-focus-offset: 2px}
:root,
[data-theme="dark"]{--ais-bg: var(--ais-d-bg);--ais-panel: var(--ais-d-panel);--ais-cell: var(--ais-d-cell);--ais-rule: var(--ais-d-rule);--ais-fg: var(--ais-d-fg);--ais-muted: var(--ais-d-muted);--ais-gold: var(--ais-d-gold);--ais-khaki: var(--ais-d-khaki);--ais-on-khaki: var(--ais-d-on-khaki);--ais-ok: var(--ais-d-ok);--ais-err: var(--ais-d-err);--ais-focus: var(--ais-d-gold)}
[data-theme="light"]{--ais-bg: var(--ais-l-bg);--ais-panel: var(--ais-l-panel);--ais-cell: var(--ais-l-cell);--ais-rule: var(--ais-l-rule);--ais-fg: var(--ais-l-fg);--ais-muted: var(--ais-l-muted);--ais-gold: var(--ais-l-gold);--ais-khaki: var(--ais-l-khaki);--ais-on-khaki: var(--ais-l-on-khaki);--ais-ok: var(--ais-l-ok);--ais-err: var(--ais-l-err);--ais-focus: var(--ais-l-khaki)}
@media (prefers-color-scheme: light){[data-theme="auto"]{--ais-bg: var(--ais-l-bg);--ais-panel: var(--ais-l-panel);--ais-cell: var(--ais-l-cell);--ais-rule: var(--ais-l-rule);--ais-fg: var(--ais-l-fg);--ais-muted: var(--ais-l-muted);--ais-gold: var(--ais-l-gold);--ais-khaki: var(--ais-l-khaki);--ais-on-khaki: var(--ais-l-on-khaki);--ais-ok: var(--ais-l-ok);--ais-err: var(--ais-l-err);--ais-focus: var(--ais-l-khaki)}}
html[data-theme="dark"]:not([data-palette="graphite"]):not([data-palette="midnight"]){--ais-display: 'Playfair Display', Georgia, serif;--ais-text: 'Inter', 'Segoe UI', system-ui, sans-serif;--ais-mono: 'IBM Plex Mono', ui-monospace, Consolas, monospace;--ais-accent-grad: linear-gradient(180deg, #d6c79d, #bfa978);--ais-line: rgba(224,232,213,.10);--ais-brand: #c9b480}
html[data-theme="dark"]{--ais-display: 'Playfair Display', Georgia, serif;--ais-text: 'Inter', 'Segoe UI', system-ui, sans-serif;--ais-mono: 'IBM Plex Mono', ui-monospace, Consolas, monospace;--ais-accent-grad: linear-gradient(180deg, var(--text-gold), var(--gold-dim));--ais-line: rgba(224,232,213,.10);--ais-brand: var(--gold)}
.ff-root{
  --ff-bg: #121611; --ff-panel: #171b14; --ff-cell: #1d2219; --ff-line: rgba(239, 236, 226, .14);
  --ff-text: #efece2; --ff-muted: #b3b29f; --ff-khaki: #c9b480; --ff-on-khaki: #15180f; --ff-ok: #a9c48a;
  --ff-shade: rgba(18, 22, 17, .78);
  --ff-serif: "Playfair Display", Georgia, serif; --ff-sans: Inter, system-ui, sans-serif; --ff-mono: "IBM Plex Mono", ui-monospace, monospace;
  color: var(--ff-text); font: 400 14px/1.4 var(--ff-sans); display: grid; gap: 14px; min-width: 0;
}
.ff-root[data-theme="light"]{
  --ff-bg: #f4f2ea; --ff-panel: #fbfaf5; --ff-cell: #eceae0; --ff-line: rgba(30, 34, 25, .16);
  --ff-text: #1c2018; --ff-muted: #545a4b; --ff-khaki: #7a6630; --ff-on-khaki: #fbfaf5; --ff-ok: #3f6328; --ff-shade: rgba(251, 250, 245, .86);
}
@media (prefers-color-scheme: light){.ff-root:not([data-theme="dark"]){
    --ff-bg: #f4f2ea; --ff-panel: #fbfaf5; --ff-cell: #eceae0; --ff-line: rgba(30, 34, 25, .16);
    --ff-text: #1c2018; --ff-muted: #545a4b; --ff-khaki: #7a6630; --ff-on-khaki: #fbfaf5; --ff-ok: #3f6328; --ff-shade: rgba(251, 250, 245, .86);
  }}
.ff-root *, .ff-root *::before, .ff-root *::after{ box-sizing: border-box; }
.ff-root button, .ff-root a{ font: inherit; color: inherit; -webkit-tap-highlight-color: transparent; }
.ff-root :focus-visible{ outline: 2px solid var(--ff-khaki); outline-offset: 2px; }
.ff-root ul{ list-style: none; margin: 0; padding: 0; }
.ff-empty, .ff-note{ margin: 0; color: var(--ff-muted); }
.ff-card{ background: var(--ff-panel); border: 1px solid var(--ff-line); border-radius: 6px; padding: 12px; min-width: 0; }
.ff-head{ display: flex; align-items: center; gap: 10px; margin-bottom: 10px; min-width: 0; }
.ff-par{ display: flex; gap: 4px; flex: none; }
.ff-par li{ width: 28px; height: 28px; border-radius: 50%; overflow: hidden; background: var(--ff-cell); border: 1px solid var(--ff-line); }
.ff-par img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.ff-tag{ margin: 0; flex: 1; min-width: 0; font: italic 500 16px var(--ff-serif); display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; }
.ff-cnt{ font: 400 12px var(--ff-mono); font-style: normal; color: var(--ff-muted); letter-spacing: .04em; }
.ff-more-wrap{ position: relative; flex: none; }
.ff-menu{ position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; min-width: 180px; display: grid; padding: 4px; background: var(--ff-bg); border: 1px solid var(--ff-line); border-radius: 6px; box-shadow: 0 12px 30px rgba(0, 0, 0, .35); }
.ff-menu [role=menuitem]{ min-height: 44px; display: flex; align-items: center; padding: 0 12px; border: 0; background: none; text-align: left; text-decoration: none; border-radius: 4px; cursor: pointer; }
.ff-menu [role=menuitem]:hover:not([disabled]){ background: var(--ff-cell); }
.ff-menu [disabled]{ color: var(--ff-muted); cursor: default; }
.ff-grid{ display: grid; grid-template-columns: repeat(4, minmax(0, 220px)); gap: 10px; }
.ff-cell{ min-width: 0; }
.ff-fig{ position: relative; margin: 0; aspect-ratio: 3 / 4; background: var(--ff-cell); border: 1px solid var(--ff-line); border-radius: 4px; overflow: hidden; }
.ff-fig img{ width: 100%; height: 100%; object-fit: contain; display: block; }
.ff-sil{ width: 100%; height: 100%; fill: var(--ff-line); display: block; }
.ff-par .ff-sil{ padding: 3px; }
.ff-cell.is-ready .ff-fig{ border-color: var(--ff-khaki); }
.ff-acts{ position: absolute; top: 6px; right: 6px; display: flex; gap: 4px; }
.ff-ic{ width: 36px; height: 36px; display: inline-grid; place-items: center; padding: 0; border: 1px solid var(--ff-line); border-radius: 50%; background: var(--ff-shade); cursor: pointer; text-decoration: none; }
.ff-ic svg{ width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.ff-more svg{ fill: currentColor; stroke: none; }
.ff-ic[disabled]{ opacity: .55; cursor: default; }
.ff-ic:hover:not([disabled]){ border-color: var(--ff-khaki); }
.ff-link{ background: var(--ff-khaki); border-color: var(--ff-khaki); color: var(--ff-on-khaki); }
.ff-bar{ position: absolute; left: 0; bottom: 0; height: 3px; background: var(--ff-khaki); transition: width .4s; }
.ff-cap{ display: flex; align-items: center; gap: 8px; margin-top: 6px; min-width: 0; }
.ff-n{ font: 500 12px var(--ff-mono); color: var(--ff-muted); }
.ff-st{ font: 400 12px var(--ff-mono); color: var(--ff-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ff-st.is-build{ color: var(--ff-khaki); }
.ff-st.is-ready{ color: var(--ff-ok); }
@media (max-width: 760px){.ff-grid{ grid-template-columns: repeat(2, minmax(0, 160px)); justify-content: center; }.ff-ic{ width: 44px; height: 44px; }.ff-acts{ top: 4px; right: 4px; }}
@media (prefers-reduced-motion: reduce){.ff-bar{ transition: none; }}
[data-native-face-families][data-native-face-families] .ff-root{
  --ff-bg: #121611; --ff-panel: #171b14; --ff-cell: #1d2219; --ff-line: rgba(239, 236, 226, .14);
  --ff-text: #efece2; --ff-muted: #b3b29f; --ff-khaki: #c9b480; --ff-on-khaki: #15180f; --ff-ok: #a9c48a;
  --ff-shade: rgba(18, 22, 17, .78);
  --ff-serif: "Playfair Display", Georgia, serif; --ff-sans: Inter, system-ui, sans-serif; --ff-mono: "IBM Plex Mono", ui-monospace, monospace;
  color: var(--ff-text); font: 400 14px/1.4 var(--ff-sans); display: grid; gap: 14px; min-width: 0;
}
[data-native-face-families][data-native-face-families] .ff-root[data-theme="light"]{
  --ff-bg: #f4f2ea; --ff-panel: #fbfaf5; --ff-cell: #eceae0; --ff-line: rgba(30, 34, 25, .16);
  --ff-text: #1c2018; --ff-muted: #545a4b; --ff-khaki: #7a6630; --ff-on-khaki: #fbfaf5; --ff-ok: #3f6328; --ff-shade: rgba(251, 250, 245, .86);
}
@media (prefers-color-scheme: light){[data-native-face-families][data-native-face-families] .ff-root:not([data-theme="dark"]){
    --ff-bg: #f4f2ea; --ff-panel: #fbfaf5; --ff-cell: #eceae0; --ff-line: rgba(30, 34, 25, .16);
    --ff-text: #1c2018; --ff-muted: #545a4b; --ff-khaki: #7a6630; --ff-on-khaki: #fbfaf5; --ff-ok: #3f6328; --ff-shade: rgba(251, 250, 245, .86);
  }}
[data-native-face-families][data-native-face-families] .ff-root *,[data-native-face-families][data-native-face-families] .ff-root *::before,[data-native-face-families][data-native-face-families] .ff-root *::after{ box-sizing: border-box; }
[data-native-face-families][data-native-face-families] .ff-root button,[data-native-face-families][data-native-face-families] .ff-root a{ font: inherit; color: inherit; -webkit-tap-highlight-color: transparent; }
[data-native-face-families][data-native-face-families] .ff-root :focus-visible{ outline: 2px solid var(--ff-khaki); outline-offset: 2px; }
[data-native-face-families][data-native-face-families] .ff-root ul{ list-style: none; margin: 0; padding: 0; }
[data-native-face-families][data-native-face-families] .ff-empty,[data-native-face-families][data-native-face-families] .ff-note{ margin: 0; color: var(--ff-muted); }
[data-native-face-families][data-native-face-families] .ff-card{ background: var(--ff-panel); border: 1px solid var(--ff-line); border-radius: 6px; padding: 12px; min-width: 0; }
[data-native-face-families][data-native-face-families] .ff-head{ display: flex; align-items: center; gap: 10px; margin-bottom: 10px; min-width: 0; }
[data-native-face-families][data-native-face-families] .ff-par{ display: flex; gap: 4px; flex: none; }
[data-native-face-families][data-native-face-families] .ff-par li{ width: 28px; height: 28px; border-radius: 50%; overflow: hidden; background: var(--ff-cell); border: 1px solid var(--ff-line); }
[data-native-face-families][data-native-face-families] .ff-par img{ width: 100%; height: 100%; object-fit: cover; display: block; }
[data-native-face-families][data-native-face-families] .ff-tag{ margin: 0; flex: 1; min-width: 0; font: italic 500 16px var(--ff-serif); display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; }
[data-native-face-families][data-native-face-families] .ff-cnt{ font: 400 12px var(--ff-mono); font-style: normal; color: var(--ff-muted); letter-spacing: .04em; }
[data-native-face-families][data-native-face-families] .ff-more-wrap{ position: relative; flex: none; }
[data-native-face-families][data-native-face-families] .ff-menu{ position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; min-width: 180px; display: grid; padding: 4px; background: var(--ff-bg); border: 1px solid var(--ff-line); border-radius: 6px; box-shadow: 0 12px 30px rgba(0, 0, 0, .35); }
[data-native-face-families][data-native-face-families] .ff-menu [role=menuitem]{ min-height: 44px; display: flex; align-items: center; padding: 0 12px; border: 0; background: none; text-align: left; text-decoration: none; border-radius: 4px; cursor: pointer; }
[data-native-face-families][data-native-face-families] .ff-menu [role=menuitem]:hover:not([disabled]){ background: var(--ff-cell); }
[data-native-face-families][data-native-face-families] .ff-menu [disabled]{ color: var(--ff-muted); cursor: default; }
[data-native-face-families][data-native-face-families] .ff-grid{ display: grid; grid-template-columns: repeat(4, minmax(0, 220px)); gap: 10px; }
[data-native-face-families][data-native-face-families] .ff-cell{ min-width: 0; }
[data-native-face-families][data-native-face-families] .ff-fig{ position: relative; margin: 0; aspect-ratio: 3 / 4; background: var(--ff-cell); border: 1px solid var(--ff-line); border-radius: 4px; overflow: hidden; }
[data-native-face-families][data-native-face-families] .ff-fig img{ width: 100%; height: 100%; object-fit: contain; display: block; }
[data-native-face-families][data-native-face-families] .ff-sil{ width: 100%; height: 100%; fill: var(--ff-line); display: block; }
[data-native-face-families][data-native-face-families] .ff-par .ff-sil{ padding: 3px; }
[data-native-face-families][data-native-face-families] .ff-cell.is-ready .ff-fig{ border-color: var(--ff-khaki); }
[data-native-face-families][data-native-face-families] .ff-acts{ position: absolute; top: 6px; right: 6px; display: flex; gap: 4px; }
[data-native-face-families][data-native-face-families] .ff-ic{ width: 36px; height: 36px; display: inline-grid; place-items: center; padding: 0; border: 1px solid var(--ff-line); border-radius: 50%; background: var(--ff-shade); cursor: pointer; text-decoration: none; }
[data-native-face-families][data-native-face-families] .ff-ic svg{ width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
[data-native-face-families][data-native-face-families] .ff-more svg{ fill: currentColor; stroke: none; }
[data-native-face-families][data-native-face-families] .ff-ic[disabled]{ opacity: .55; cursor: default; }
[data-native-face-families][data-native-face-families] .ff-ic:hover:not([disabled]){ border-color: var(--ff-khaki); }
[data-native-face-families][data-native-face-families] .ff-link{ background: var(--ff-khaki); border-color: var(--ff-khaki); color: var(--ff-on-khaki); }
[data-native-face-families][data-native-face-families] .ff-bar{ position: absolute; left: 0; bottom: 0; height: 3px; background: var(--ff-khaki); transition: width .4s; }
[data-native-face-families][data-native-face-families] .ff-cap{ display: flex; align-items: center; gap: 8px; margin-top: 6px; min-width: 0; }
[data-native-face-families][data-native-face-families] .ff-n{ font: 500 12px var(--ff-mono); color: var(--ff-muted); }
[data-native-face-families][data-native-face-families] .ff-st{ font: 400 12px var(--ff-mono); color: var(--ff-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
[data-native-face-families][data-native-face-families] .ff-st.is-build{ color: var(--ff-khaki); }
[data-native-face-families][data-native-face-families] .ff-st.is-ready{ color: var(--ff-ok); }
@media (max-width: 760px){[data-native-face-families][data-native-face-families] .ff-grid{ grid-template-columns: repeat(2, minmax(0, 160px)); justify-content: center; }[data-native-face-families][data-native-face-families] .ff-ic{ width: 44px; height: 44px; }[data-native-face-families][data-native-face-families] .ff-acts{ top: 4px; right: 4px; }}
@media (prefers-reduced-motion: reduce){[data-native-face-families][data-native-face-families] .ff-bar{ transition: none; }}
[data-native-face-families][data-native-face-families] .ff-acts{top:auto;bottom:6px;}
.fcs-root{
  --fcs-bg: var(--ais-d-bg, #121611); --fcs-panel: var(--ais-d-panel, #171b14); --fcs-cell: var(--ais-d-cell, #1d2219); --fcs-line: var(--ais-d-rule, rgba(239, 236, 226, .14));
  --fcs-text: var(--ais-d-fg, #efece2); --fcs-muted: var(--ais-d-muted, #b3b29f); --fcs-khaki: var(--ais-d-khaki, #c9b480); --fcs-on-khaki: var(--ais-d-on-khaki, #15180f); --fcs-holo: #9fc7c0; --fcs-err: #e2a08c;
  --fcs-serif: var(--ais-font-serif, "Playfair Display", Georgia, serif); --fcs-sans: var(--ais-font-sans, Inter, system-ui, sans-serif); --fcs-mono: var(--ais-font-mono, "IBM Plex Mono", ui-monospace, monospace);
  color: var(--fcs-text); background: var(--fcs-bg); font: 400 14px/1.45 var(--fcs-sans); display: grid; gap: 18px; min-width: 0; max-width: 1000px;
}
.fcs-root[data-theme="light"]{
  --fcs-bg: var(--ais-l-bg, #f4f2ea); --fcs-panel: var(--ais-l-panel, #fbfaf5); --fcs-cell: var(--ais-l-cell, #eceae0); --fcs-line: var(--ais-l-rule, rgba(30, 34, 25, .16));
  --fcs-text: var(--ais-l-fg, #1c2018); --fcs-muted: var(--ais-l-muted, #545a4b); --fcs-khaki: var(--ais-l-khaki, #7a6630); --fcs-on-khaki: var(--ais-l-on-khaki, #fbfaf5); --fcs-holo: #2f6b62; --fcs-err: var(--ais-l-err, #9a3b22);
}
.fcs-root *, .fcs-root *::before, .fcs-root *::after{ box-sizing: border-box; }
.fcs-root button, .fcs-root textarea{ font: inherit; color: inherit; -webkit-tap-highlight-color: transparent; }
.fcs-root :focus-visible{ outline: 2px solid var(--fcs-khaki); outline-offset: 2px; }
.fcs-root ul{ list-style: none; margin: 0; padding: 0; }
.fcs-root [hidden]{ display: none !important; }
.fcs-top{ display: grid; gap: 4px; }
.fcs-h{ margin: 0; font: 600 24px/1.2 var(--fcs-serif); }
.fcs-sub, .fcs-hint{ margin: 0; color: var(--fcs-muted); }
.fcs-h3{ margin: 0 0 8px; font: 500 12px var(--fcs-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--fcs-muted); display: block; }
.fcs-mono{ font-family: var(--fcs-mono); font-size: 12px; color: var(--fcs-muted); }
.fcs-pick, .fcs-stage{ background: var(--fcs-panel); border: 1px solid var(--fcs-line); border-radius: 6px; padding: 14px; display: grid; gap: 16px; min-width: 0; }
.fcs-own{ display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start; }
.fcs-faces{ display: flex; flex-wrap: wrap; gap: 10px; }
.fcs-face{ width: 92px; display: grid; gap: 4px; justify-items: center; padding: 6px; background: var(--fcs-cell); border: 1px solid var(--fcs-line); border-radius: 6px; cursor: pointer; position: relative; }
.fcs-face:hover:not([disabled]){ border-color: var(--fcs-muted); }
.fcs-face.is-on{ border-color: var(--fcs-text); box-shadow: inset 0 0 0 1px var(--fcs-text); }
.fcs-face.is-on::after{ content: "✓"; position: absolute; top: 4px; right: 6px; font: 600 13px var(--fcs-sans); }
.fcs-face[disabled]{ opacity: .5; cursor: default; }
.fcs-fimg{ width: 64px; height: 80px; display: block; border-radius: 4px; overflow: hidden; background: var(--fcs-bg); }
.fcs-fimg img{ width: 100%; height: 100%; object-fit: contain; display: block; }
.fcs-sil{ width: 100%; height: 100%; display: block; fill: var(--fcs-line); }
.fcs-fname{ font-size: 12px; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fcs-ftag{ font: 400 11px var(--fcs-mono); color: var(--fcs-muted); }
.fcs-up{ min-width: 92px; min-height: 96px; display: grid; place-content: center; gap: 2px; text-align: center; padding: 8px 12px; border: 1px dashed var(--fcs-line); border-radius: 6px; cursor: pointer; position: relative; }
.fcs-up.is-off{ cursor: default; color: var(--fcs-muted); }
.fcs-up:focus-within{ outline: 2px solid var(--fcs-khaki); outline-offset: 2px; }
.fcs-file{ position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; cursor: inherit; }
.fcs-soon{ font: 400 11px var(--fcs-mono); color: var(--fcs-muted); }
.fcs-wish{ display: block; }
.fcs-ta{ width: 100%; resize: vertical; min-height: 72px; padding: 10px 12px; background: var(--fcs-bg); border: 1px solid var(--fcs-line); border-radius: 6px; }
.fcs-ta::placeholder{ color: var(--fcs-muted); opacity: 1; }
.fcs-go-row, .fcs-actrow{ display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; min-width: 0; }
.fcs-go{ min-height: 44px; padding: 0 22px; border: 1px solid var(--fcs-khaki); border-radius: 4px; background: var(--fcs-khaki); color: var(--fcs-on-khaki) !important; font-weight: 600 !important; cursor: pointer; }
.fcs-go[disabled]{ background: transparent; color: var(--fcs-muted) !important; border-color: var(--fcs-line); cursor: default; }
.fcs-btn{ min-height: 44px; padding: 0 16px; border: 1px solid var(--fcs-line); border-radius: 4px; background: none; cursor: pointer; }
.fcs-btn:hover{ border-color: var(--fcs-muted); }
.fcs-status{ margin: 0; font: italic 500 17px var(--fcs-serif); }
.fcs-err{ display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--fcs-err); border-radius: 6px; }
.fcs-err-t{ margin: 0; color: var(--fcs-err); flex: 1 1 200px; }
.fcs-tiles{ display: grid; grid-template-columns: repeat(4, minmax(0, 220px)); gap: 12px; }
.fcs-tile{ display: grid; gap: 6px; padding: 0; border: 0; background: none; text-align: left; cursor: pointer; min-width: 0; }
.fcs-tile[disabled]{ cursor: default; }
.fcs-frame{ position: relative; display: block; aspect-ratio: 3 / 4; border: 1px solid var(--fcs-line); border-radius: 4px; overflow: hidden;
  background: radial-gradient(ellipse at 50% 92%, rgba(159, 199, 192, .14), transparent 60%), var(--fcs-cell); }
.fcs-tile.is-chosen .fcs-frame{ border-color: var(--fcs-text); box-shadow: 0 0 0 2px var(--fcs-text); }
.fcs-tile:focus-visible{ outline: none; }
.fcs-tile:focus-visible .fcs-frame{ outline: 2px solid var(--fcs-khaki); outline-offset: 2px; }
.fcs-cap{ font: 400 12px var(--fcs-mono); color: var(--fcs-muted); }
.fcs-tile.is-chosen .fcs-cap{ color: var(--fcs-text); }
.fcs-holo{ position: absolute; inset: 0; width: 100%; height: 100%; color: var(--fcs-holo); fill: none; stroke: currentColor; stroke-width: 1; transition: opacity 1.2s ease; }
.fcs-holo-head, .fcs-holo-body{ fill: rgba(159, 199, 192, .08); stroke-width: 1.2; }
.fcs-holo-grid{ opacity: .45; stroke-width: .6; }
.fcs-holo-base{ fill: rgba(159, 199, 192, .2); stroke: none; }
.fcs-tile.is-holo .fcs-holo{ animation: fcs-breathe 2.4s ease-in-out infinite; }
.fcs-tile.is-wait .fcs-holo{ opacity: .45; }
.fcs-scan{ position: absolute; left: 0; right: 0; top: 0; height: 30%; background: linear-gradient(180deg, transparent, rgba(159, 199, 192, .18), transparent); pointer-events: none; opacity: 0; }
.fcs-tile.is-holo .fcs-scan{ opacity: 1; animation: fcs-scan 2.8s linear infinite; }
.fcs-img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: 50% 100%; opacity: 0; filter: blur(10px) saturate(.4); transform: scale(1.03);
  transition: opacity 1.4s ease, filter 1.6s ease, transform 1.6s ease; }
.fcs-img:not([src]){ visibility: hidden; }
.fcs-tile.is-rev .fcs-img{ opacity: 1; filter: none; transform: none; }
.fcs-tile.is-rev .fcs-holo{ opacity: 0; }
.fcs-tile.is-instant .fcs-img, .fcs-tile.is-instant .fcs-holo{ transition: none; }
.fcs-tile.is-bad .fcs-holo{ opacity: .2; animation: none; }
.fcs-tile.is-bad .fcs-cap{ color: var(--fcs-err); }
.fcs-prog{ flex: 1 1 160px; height: 6px; border-radius: 3px; background: var(--fcs-cell); overflow: hidden; min-width: 120px; }
.fcs-prog-bar{ display: block; height: 100%; background: var(--fcs-text); transition: width .4s; }
.fcs-family{ display: grid; gap: 4px; min-width: 0; }
@media (max-width: 760px){.fcs-tiles{ grid-template-columns: repeat(2, minmax(0, 160px)); justify-content: center; }.fcs-pick, .fcs-stage{ padding: 12px; }.fcs-faces{ gap: 8px; }.fcs-face{ width: 80px; }.fcs-up{ min-width: 80px; }.fcs-go{ flex: 1 1 100%; }}
@media (prefers-reduced-motion: reduce){.fcs-tile.is-holo .fcs-holo, .fcs-tile.is-holo .fcs-scan{ animation: none; }.fcs-img, .fcs-holo, .fcs-prog-bar{ transition: none; }}
.fcs-cabinet{position:fixed;inset:0;z-index:2147482999;overflow:auto;overscroll-behavior:contain;background:#121611;color:#efece2;font:400 14px/1.45 Inter,system-ui,sans-serif;--fcs-line:rgba(239,236,226,.14);--fcs-khaki:#c9b480;--fcs-text:#efece2;--fcs-muted:#b3b29f;--fcs-on-khaki:#15180f}
.fcs-cabinet,.fcs-cabinet *{box-sizing:border-box}
.fcs-cabinet [hidden]{display:none!important}
.fcs-cabinet-top{position:sticky;top:0;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px max(18px,calc((100vw - 1000px)/2));border-bottom:1px solid var(--fcs-line);background:#121611;color:#b3b29f;font:500 12px 'IBM Plex Mono',monospace;letter-spacing:.06em;text-transform:uppercase}
.fcs-cabinet-wrap{max-width:1036px;margin:0 auto;padding:18px;min-width:0}
.fcs-cabinet-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}
.fcs-cabinet-gender{display:flex;align-items:center;gap:14px;min-width:0;border:0;margin:0 0 0 auto;padding:0}
.fcs-cabinet-gender legend{float:left;margin-right:12px;font:500 11px 'IBM Plex Mono',monospace;text-transform:uppercase;color:#b3b29f}
.fcs-cabinet-gender label{display:flex;align-items:center;gap:5px;cursor:pointer;min-height:44px}
.fcs-cabinet-gender input{accent-color:#c9b480;width:15px;height:15px;margin:0}
.fcs-cabinet-message{color:#b3b29f;margin:0 0 16px;font-size:12px;min-height:18px}
.fcs-cabinet .fcs-btn{min-height:44px;padding:0 16px;border:1px solid rgba(239,236,226,.14);border-radius:4px;background:transparent;color:#efece2;font:400 14px Inter,system-ui,sans-serif;cursor:pointer;letter-spacing:normal;text-transform:none}
.fcs-cabinet .fcs-btn:hover{border-color:#b3b29f}
.fcs-cabinet .fcs-btn:disabled{opacity:.5;cursor:default}
.fcs-cabinet :focus-visible{outline:2px solid #c9b480;outline-offset:3px}
.fcs-cabinet .fcs-catalog:not(.is-expanded)>li:nth-child(n+7){display:none}
.fcs-cabinet .fcs-catalog.is-expanded{max-height:320px;overflow:auto;padding:3px;margin:-3px}
.fcs-cabinet .fcs-root{width:100%}
.fcs-cabinet .fcs-stage{scroll-margin-top:90px}
.fcs-cabinet [data-screen]{scroll-margin-top:90px}
.fcs-cabinet [data-history-pane]>h2{font:600 24px 'Playfair Display',Georgia,serif}
.fcs-cabinet [data-history-pane]>p{color:#b3b29f}
.fcs-cabinet [data-history-pane]>.fcs-btn{margin:12px 12px 0 0}
.fcs-cabinet .fcs-root .fcs-face{width:92px;display:grid;gap:4px;justify-items:center;padding:6px;background:var(--fcs-cell);border:1px solid var(--fcs-line);border-radius:6px;cursor:pointer;position:relative;min-height:0}
.fcs-cabinet .fcs-root .fcs-face.is-on{border-color:var(--fcs-text);box-shadow:inset 0 0 0 1px var(--fcs-text)}
.fcs-cabinet .fcs-root .fcs-tile{display:grid;gap:6px;padding:0;border:0;background:none;text-align:left;cursor:pointer;min-width:0;min-height:0}
.fcs-cabinet .fcs-root .fcs-go{min-height:44px;padding:0 22px;border:1px solid var(--fcs-khaki);border-radius:4px;background:var(--fcs-khaki);color:var(--fcs-on-khaki)!important;font-weight:600!important;cursor:pointer}
.fcs-cabinet .fcs-root .fcs-go:disabled{background:transparent;color:var(--fcs-muted)!important;border-color:var(--fcs-line);cursor:default}
.fcs-cabinet .fcs-root .fcs-ta{background:var(--fcs-bg);border:1px solid var(--fcs-line);border-radius:6px;padding:10px 12px;color:var(--fcs-text);width:100%;font:inherit}
.fcs-cabinet .fcs-frame{aspect-ratio:3/5}
.fcs-cabinet .fcs-img{object-fit:contain;object-position:50% 100%}
@media(max-width:760px){.fcs-cabinet-top{padding:8px 16px}.fcs-cabinet-wrap{padding:14px 16px}.fcs-cabinet-tools{gap:8px}.fcs-cabinet-gender{width:100%;margin:0;gap:12px}.fcs-cabinet .fcs-root .fcs-face{width:80px}.fcs-cabinet .fcs-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.fcs-cabinet .fcs-h{font-size:26px}.fcs-cabinet .fcs-root{gap:14px}.fcs-cabinet .fcs-frame{aspect-ratio:3/5}}
.fcs-cabinet .ff-root{
  --ff-bg: #121611; --ff-panel: #171b14; --ff-cell: #1d2219; --ff-line: rgba(239, 236, 226, .14);
  --ff-text: #efece2; --ff-muted: #b3b29f; --ff-khaki: #c9b480; --ff-on-khaki: #15180f; --ff-ok: #a9c48a;
  --ff-shade: rgba(18, 22, 17, .78);
  --ff-serif: "Playfair Display", Georgia, serif; --ff-sans: Inter, system-ui, sans-serif; --ff-mono: "IBM Plex Mono", ui-monospace, monospace;
  color: var(--ff-text); font: 400 14px/1.4 var(--ff-sans); display: grid; gap: 14px; min-width: 0;
}
.fcs-cabinet .ff-root[data-theme="light"]{
  --ff-bg: #f4f2ea; --ff-panel: #fbfaf5; --ff-cell: #eceae0; --ff-line: rgba(30, 34, 25, .16);
  --ff-text: #1c2018; --ff-muted: #545a4b; --ff-khaki: #7a6630; --ff-on-khaki: #fbfaf5; --ff-ok: #3f6328; --ff-shade: rgba(251, 250, 245, .86);
}
@media (prefers-color-scheme: light){.ff-root:not([data-theme="dark"]){
    --ff-bg: #f4f2ea; --ff-panel: #fbfaf5; --ff-cell: #eceae0; --ff-line: rgba(30, 34, 25, .16);
    --ff-text: #1c2018; --ff-muted: #545a4b; --ff-khaki: #7a6630; --ff-on-khaki: #fbfaf5; --ff-ok: #3f6328; --ff-shade: rgba(251, 250, 245, .86);
  }}
.fcs-cabinet .ff-root *, .fcs-cabinet .ff-root *::before, .fcs-cabinet .ff-root *::after{ box-sizing: border-box; }
.fcs-cabinet .ff-root button, .fcs-cabinet .ff-root a{ font: inherit; color: inherit; -webkit-tap-highlight-color: transparent; }
.fcs-cabinet .ff-root :focus-visible{ outline: 2px solid var(--ff-khaki); outline-offset: 2px; }
.fcs-cabinet .ff-root ul{ list-style: none; margin: 0; padding: 0; }
.fcs-cabinet .ff-empty, .fcs-cabinet .ff-note{ margin: 0; color: var(--ff-muted); }
.fcs-cabinet .ff-card{ background: var(--ff-panel); border: 1px solid var(--ff-line); border-radius: 6px; padding: 12px; min-width: 0; }
.fcs-cabinet .ff-head{ display: flex; align-items: center; gap: 10px; margin-bottom: 10px; min-width: 0; }
.fcs-cabinet .ff-par{ display: flex; gap: 4px; flex: none; }
.fcs-cabinet .ff-par li{ width: 28px; height: 28px; border-radius: 50%; overflow: hidden; background: var(--ff-cell); border: 1px solid var(--ff-line); }
.fcs-cabinet .ff-par img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.fcs-cabinet .ff-tag{ margin: 0; flex: 1; min-width: 0; font: italic 500 16px var(--ff-serif); display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; }
.fcs-cabinet .ff-cnt{ font: 400 12px var(--ff-mono); font-style: normal; color: var(--ff-muted); letter-spacing: .04em; }
.fcs-cabinet .ff-more-wrap{ position: relative; flex: none; }
.fcs-cabinet .ff-menu{ position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; min-width: 180px; display: grid; padding: 4px; background: var(--ff-bg); border: 1px solid var(--ff-line); border-radius: 6px; box-shadow: 0 12px 30px rgba(0, 0, 0, .35); }
.fcs-cabinet .ff-menu [role=menuitem]{ min-height: 44px; display: flex; align-items: center; padding: 0 12px; border: 0; background: none; text-align: left; text-decoration: none; border-radius: 4px; cursor: pointer; }
.fcs-cabinet .ff-menu [role=menuitem]:hover:not([disabled]){ background: var(--ff-cell); }
.fcs-cabinet .ff-menu [disabled]{ color: var(--ff-muted); cursor: default; }
.fcs-cabinet .ff-grid{ display: grid; grid-template-columns: repeat(4, minmax(0, 220px)); gap: 10px; }
.fcs-cabinet .ff-cell{ min-width: 0; }
.fcs-cabinet .ff-fig{ position: relative; margin: 0; aspect-ratio: 3 / 4; background: var(--ff-cell); border: 1px solid var(--ff-line); border-radius: 4px; overflow: hidden; }
.fcs-cabinet .ff-fig img{ width: 100%; height: 100%; object-fit: contain; display: block; }
.fcs-cabinet .ff-sil{ width: 100%; height: 100%; fill: var(--ff-line); display: block; }
.fcs-cabinet .ff-par .ff-sil{ padding: 3px; }
.fcs-cabinet .ff-cell.is-ready .ff-fig{ border-color: var(--ff-khaki); }
.fcs-cabinet .ff-acts{ position: absolute; top: 6px; right: 6px; display: flex; gap: 4px; }
.fcs-cabinet .ff-ic{ width: 36px; height: 36px; display: inline-grid; place-items: center; padding: 0; border: 1px solid var(--ff-line); border-radius: 50%; background: var(--ff-shade); cursor: pointer; text-decoration: none; }
.fcs-cabinet .ff-ic svg{ width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.fcs-cabinet .ff-more svg{ fill: currentColor; stroke: none; }
.fcs-cabinet .ff-ic[disabled]{ opacity: .55; cursor: default; }
.fcs-cabinet .ff-ic:hover:not([disabled]){ border-color: var(--ff-khaki); }
.fcs-cabinet .ff-link{ background: var(--ff-khaki); border-color: var(--ff-khaki); color: var(--ff-on-khaki); }
.fcs-cabinet .ff-bar{ position: absolute; left: 0; bottom: 0; height: 3px; background: var(--ff-khaki); transition: width .4s; }
.fcs-cabinet .ff-cap{ display: flex; align-items: center; gap: 8px; margin-top: 6px; min-width: 0; }
.fcs-cabinet .ff-n{ font: 500 12px var(--ff-mono); color: var(--ff-muted); }
.fcs-cabinet .ff-st{ font: 400 12px var(--ff-mono); color: var(--ff-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fcs-cabinet .ff-st.is-build{ color: var(--ff-khaki); }
.fcs-cabinet .ff-st.is-ready{ color: var(--ff-ok); }
@media (max-width: 760px){.ff-grid{ grid-template-columns: repeat(2, minmax(0, 160px)); justify-content: center; }.fcs-cabinet .ff-ic{ width: 44px; height: 44px; }.fcs-cabinet .ff-acts{ top: 4px; right: 4px; }}
@media (prefers-reduced-motion: reduce){.ff-bar{ transition: none; }}
.fcs-cabinet .ff-acts{top:auto;bottom:6px}
@keyframes fcs-scan{ from { transform: translateY(-100%); } to { transform: translateY(340%); } }
@keyframes fcs-breathe{ 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
/* AI Studios — экран «Конструктор лица» (О53). Олива, хаки — только у главной кнопки (и тонкий акцент выбора). Префикс .fcs- */
.fcs-root *, .fcs-root *::before, .fcs-root *::after { box-sizing: border-box; }
.fcs-root button, .fcs-root textarea { font: inherit; color: inherit; -webkit-tap-highlight-color: transparent; }
.fcs-root :focus-visible { outline: 2px solid var(--fcs-khaki); outline-offset: 2px; }
.fcs-root ul { list-style: none; margin: 0; padding: 0; }
.fcs-root [hidden] { display: none !important; }
.fcs-top { display: grid; gap: 4px; }
.fcs-h { margin: 0; font: 600 24px/1.2 var(--fcs-serif); }
.fcs-sub, .fcs-hint { margin: 0; color: var(--fcs-muted); }
.fcs-h3 { margin: 0 0 8px; font: 500 12px var(--fcs-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--fcs-muted); display: block; }
.fcs-mono { font-family: var(--fcs-mono); font-size: 12px; color: var(--fcs-muted); }
.fcs-pick, .fcs-stage { background: var(--fcs-panel); border: 1px solid var(--fcs-line); border-radius: 6px; padding: 14px; display: grid; gap: 16px; min-width: 0; }
.fcs-own { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start; }
.fcs-faces { display: flex; flex-wrap: wrap; gap: 10px; }
.fcs-face { width: 92px; display: grid; gap: 4px; justify-items: center; padding: 6px; background: var(--fcs-cell); border: 1px solid var(--fcs-line); border-radius: 6px; cursor: pointer; position: relative; }
.fcs-face:hover:not([disabled]) { border-color: var(--fcs-muted); }
.fcs-face.is-on { border-color: var(--fcs-text); box-shadow: inset 0 0 0 1px var(--fcs-text); }
.fcs-face.is-on::after { content: "✓"; position: absolute; top: 4px; right: 6px; font: 600 13px var(--fcs-sans); }
.fcs-face[disabled] { opacity: .5; cursor: default; }
.fcs-fimg { width: 64px; height: 80px; display: block; border-radius: 4px; overflow: hidden; background: var(--fcs-bg); }
.fcs-fimg img { width: 100%; height: 100%; object-fit: contain; display: block; }
.fcs-sil { width: 100%; height: 100%; display: block; fill: var(--fcs-line); }
.fcs-fname { font-size: 12px; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fcs-ftag { font: 400 11px var(--fcs-mono); color: var(--fcs-muted); }
.fcs-up { min-width: 92px; min-height: 96px; display: grid; place-content: center; gap: 2px; text-align: center; padding: 8px 12px; border: 1px dashed var(--fcs-line); border-radius: 6px; cursor: pointer; position: relative; }
.fcs-up.is-off { cursor: default; color: var(--fcs-muted); }
.fcs-up:focus-within { outline: 2px solid var(--fcs-khaki); outline-offset: 2px; }
.fcs-file { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; cursor: inherit; }
.fcs-soon { font: 400 11px var(--fcs-mono); color: var(--fcs-muted); }
.fcs-wish { display: block; }
.fcs-ta { width: 100%; resize: vertical; min-height: 72px; padding: 10px 12px; background: var(--fcs-bg); border: 1px solid var(--fcs-line); border-radius: 6px; }
.fcs-ta::placeholder { color: var(--fcs-muted); opacity: 1; }
.fcs-go-row, .fcs-actrow { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; min-width: 0; }
.fcs-go { min-height: 44px; padding: 0 22px; border: 1px solid var(--fcs-khaki); border-radius: 4px; background: var(--fcs-khaki); color: var(--fcs-on-khaki) !important; font-weight: 600 !important; cursor: pointer; }
.fcs-go[disabled] { background: transparent; color: var(--fcs-muted) !important; border-color: var(--fcs-line); cursor: default; }
.fcs-btn { min-height: 44px; padding: 0 16px; border: 1px solid var(--fcs-line); border-radius: 4px; background: none; cursor: pointer; }
.fcs-btn:hover { border-color: var(--fcs-muted); }
.fcs-status { margin: 0; font: italic 500 17px var(--fcs-serif); }
.fcs-err { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--fcs-err); border-radius: 6px; }
.fcs-err-t { margin: 0; color: var(--fcs-err); flex: 1 1 200px; }
.fcs-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 220px)); gap: 12px; }
.fcs-tile { display: grid; gap: 6px; padding: 0; border: 0; background: none; text-align: left; cursor: pointer; min-width: 0; }
.fcs-tile[disabled] { cursor: default; }
.fcs-tile.is-chosen .fcs-frame { border-color: var(--fcs-text); box-shadow: 0 0 0 2px var(--fcs-text); }
.fcs-tile:focus-visible { outline: none; }
.fcs-tile:focus-visible .fcs-frame { outline: 2px solid var(--fcs-khaki); outline-offset: 2px; }
.fcs-cap { font: 400 12px var(--fcs-mono); color: var(--fcs-muted); }
.fcs-tile.is-chosen .fcs-cap { color: var(--fcs-text); }
.fcs-holo { position: absolute; inset: 0; width: 100%; height: 100%; color: var(--fcs-holo); fill: none; stroke: currentColor; stroke-width: 1; transition: opacity 1.2s ease; }
.fcs-holo-head, .fcs-holo-body { fill: rgba(159, 199, 192, .08); stroke-width: 1.2; }
.fcs-holo-grid { opacity: .45; stroke-width: .6; }
.fcs-holo-base { fill: rgba(159, 199, 192, .2); stroke: none; }
.fcs-tile.is-holo .fcs-holo { animation: fcs-breathe 2.4s ease-in-out infinite; }
.fcs-tile.is-wait .fcs-holo { opacity: .45; }
.fcs-scan { position: absolute; left: 0; right: 0; top: 0; height: 30%; background: linear-gradient(180deg, transparent, rgba(159, 199, 192, .18), transparent); pointer-events: none; opacity: 0; }
.fcs-tile.is-holo .fcs-scan { opacity: 1; animation: fcs-scan 2.8s linear infinite; }
.fcs-img:not([src]) { visibility: hidden; }
.fcs-tile.is-rev .fcs-img { opacity: 1; filter: none; transform: none; }
.fcs-tile.is-rev .fcs-holo { opacity: 0; }
.fcs-tile.is-instant .fcs-img, .fcs-tile.is-instant .fcs-holo { transition: none; }
.fcs-tile.is-bad .fcs-holo { opacity: .2; animation: none; }
.fcs-tile.is-bad .fcs-cap { color: var(--fcs-err); }
.fcs-prog { flex: 1 1 160px; height: 6px; border-radius: 3px; background: var(--fcs-cell); overflow: hidden; min-width: 120px; }
.fcs-prog-bar { display: block; height: 100%; background: var(--fcs-text); transition: width .4s; }
.fcs-family { display: grid; gap: 4px; min-width: 0; }
  .fcs-tiles { grid-template-columns: repeat(2, minmax(0, 160px)); justify-content: center; }
  .fcs-pick, .fcs-stage { padding: 12px; }
  .fcs-faces { gap: 8px; }
  .fcs-face { width: 80px; }
  .fcs-up { min-width: 80px; }
  .fcs-go { flex: 1 1 100%; }
  .fcs-tile.is-holo .fcs-holo, .fcs-tile.is-holo .fcs-scan { animation: none; }
  .fcs-img, .fcs-holo, .fcs-prog-bar { transition: none; }
.fcs-cabinet{position:fixed;inset:0;z-index:2147482999;overflow:auto;overscroll-behavior:contain;background:#121611;color:#efece2;font:400 14px/1.45 Inter,system-ui,sans-serif;--fcs-line:rgba(239,236,226,.14);--fcs-khaki:#c9b480;--fcs-text:#efece2;--fcs-muted:#b3b29f;--fcs-on-khaki:#15180f}
.fcs-cabinet,.fcs-cabinet *{box-sizing:border-box}.fcs-cabinet [hidden]{display:none!important}
.fcs-cabinet-top{position:sticky;top:0;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px max(18px,calc((100vw - 1000px)/2));border-bottom:1px solid var(--fcs-line);background:#121611;color:#b3b29f;font:500 12px 'IBM Plex Mono',monospace;letter-spacing:.06em;text-transform:uppercase}
.fcs-cabinet-wrap{max-width:1036px;margin:0 auto;padding:18px;min-width:0}.fcs-cabinet-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}.fcs-cabinet-gender{display:flex;align-items:center;gap:14px;min-width:0;border:0;margin:0 0 0 auto;padding:0}.fcs-cabinet-gender legend{float:left;margin-right:12px;font:500 11px 'IBM Plex Mono',monospace;text-transform:uppercase;color:#b3b29f}.fcs-cabinet-gender label{display:flex;align-items:center;gap:5px;cursor:pointer;min-height:44px}.fcs-cabinet-gender input{accent-color:#c9b480;width:15px;height:15px;margin:0}.fcs-cabinet-message{color:#b3b29f;margin:0 0 16px;font-size:12px;min-height:18px}
.fcs-cabinet .fcs-btn{min-height:44px;padding:0 16px;border:1px solid rgba(239,236,226,.14);border-radius:4px;background:transparent;color:#efece2;font:400 14px Inter,system-ui,sans-serif;cursor:pointer;letter-spacing:normal;text-transform:none}.fcs-cabinet .fcs-btn:hover{border-color:#b3b29f}.fcs-cabinet .fcs-btn:disabled{opacity:.5;cursor:default}.fcs-cabinet :focus-visible{outline:2px solid #c9b480;outline-offset:3px}
.fcs-cabinet .fcs-catalog:not(.is-expanded)>li:nth-child(n+7){display:none}.fcs-cabinet .fcs-catalog.is-expanded{max-height:320px;overflow:auto;padding:3px;margin:-3px}.fcs-cabinet .fcs-root{width:100%}.fcs-cabinet .fcs-stage{scroll-margin-top:90px}.fcs-cabinet [data-screen]{scroll-margin-top:90px}.fcs-cabinet [data-history-pane]>h2{font:600 24px 'Playfair Display',Georgia,serif}.fcs-cabinet [data-history-pane]>p{color:#b3b29f}.fcs-cabinet [data-history-pane]>.fcs-btn{margin:12px 12px 0 0}
.fcs-cabinet .fcs-root .fcs-face{width:92px;display:grid;gap:4px;justify-items:center;padding:6px;background:var(--fcs-cell);border:1px solid var(--fcs-line);border-radius:6px;cursor:pointer;position:relative;min-height:0}
.fcs-cabinet .fcs-root .fcs-face.is-on{border-color:var(--fcs-text);box-shadow:inset 0 0 0 1px var(--fcs-text)}
.fcs-cabinet .fcs-root .fcs-tile{display:grid;gap:6px;padding:0;border:0;background:none;text-align:left;cursor:pointer;min-width:0;min-height:0}
.fcs-cabinet .fcs-root .fcs-go{min-height:44px;padding:0 22px;border:1px solid var(--fcs-khaki);border-radius:4px;background:var(--fcs-khaki);color:var(--fcs-on-khaki)!important;font-weight:600!important;cursor:pointer}
.fcs-cabinet .fcs-root .fcs-go:disabled{background:transparent;color:var(--fcs-muted)!important;border-color:var(--fcs-line);cursor:default}
.fcs-cabinet .fcs-root .fcs-ta{background:var(--fcs-bg);border:1px solid var(--fcs-line);border-radius:6px;padding:10px 12px;color:var(--fcs-text);width:100%;font:inherit}
.fcs-cabinet .fcs-frame{aspect-ratio:3/5}.fcs-cabinet .fcs-img{object-fit:contain;object-position:50% 100%}
@media(max-width:760px){.fcs-cabinet-top{padding:8px 16px}.fcs-cabinet-wrap{padding:14px 16px}.fcs-cabinet-tools{gap:8px}.fcs-cabinet-gender{width:100%;margin:0;gap:12px}.fcs-cabinet .fcs-root .fcs-face{width:80px}.fcs-cabinet .fcs-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.fcs-cabinet .fcs-h{font-size:26px}.fcs-cabinet .fcs-root{gap:14px}.fcs-cabinet .fcs-frame{aspect-ratio:3/5}}
.fcs-cabinet .ff-root *, .fcs-cabinet .ff-root *::before, .fcs-cabinet .ff-root *::after { box-sizing: border-box; }
.fcs-cabinet .ff-root button, .fcs-cabinet .ff-root a { font: inherit; color: inherit; -webkit-tap-highlight-color: transparent; }
.fcs-cabinet .ff-root :focus-visible { outline: 2px solid var(--ff-khaki); outline-offset: 2px; }
.fcs-cabinet .ff-root ul { list-style: none; margin: 0; padding: 0; }
.fcs-cabinet .ff-empty, .fcs-cabinet .ff-note { margin: 0; color: var(--ff-muted); }
.fcs-cabinet .ff-card { background: var(--ff-panel); border: 1px solid var(--ff-line); border-radius: 6px; padding: 12px; min-width: 0; }
.fcs-cabinet .ff-head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; min-width: 0; }
.fcs-cabinet .ff-par { display: flex; gap: 4px; flex: none; }
.fcs-cabinet .ff-par li { width: 28px; height: 28px; border-radius: 50%; overflow: hidden; background: var(--ff-cell); border: 1px solid var(--ff-line); }
.fcs-cabinet .ff-par img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fcs-cabinet .ff-tag { margin: 0; flex: 1; min-width: 0; font: italic 500 16px var(--ff-serif); display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; }
.fcs-cabinet .ff-cnt { font: 400 12px var(--ff-mono); font-style: normal; color: var(--ff-muted); letter-spacing: .04em; }
.fcs-cabinet .ff-more-wrap { position: relative; flex: none; }
.fcs-cabinet .ff-menu { position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; min-width: 180px; display: grid; padding: 4px; background: var(--ff-bg); border: 1px solid var(--ff-line); border-radius: 6px; box-shadow: 0 12px 30px rgba(0, 0, 0, .35); }
.fcs-cabinet .ff-menu [role=menuitem] { min-height: 44px; display: flex; align-items: center; padding: 0 12px; border: 0; background: none; text-align: left; text-decoration: none; border-radius: 4px; cursor: pointer; }
.fcs-cabinet .ff-menu [role=menuitem]:hover:not([disabled]) { background: var(--ff-cell); }
.fcs-cabinet .ff-menu [disabled] { color: var(--ff-muted); cursor: default; }
.fcs-cabinet .ff-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 220px)); gap: 10px; }
.fcs-cabinet .ff-cell { min-width: 0; }
.fcs-cabinet .ff-fig { position: relative; margin: 0; aspect-ratio: 3 / 4; background: var(--ff-cell); border: 1px solid var(--ff-line); border-radius: 4px; overflow: hidden; }
.fcs-cabinet .ff-fig img { width: 100%; height: 100%; object-fit: contain; display: block; }
.fcs-cabinet .ff-sil { width: 100%; height: 100%; fill: var(--ff-line); display: block; }
.fcs-cabinet .ff-par .ff-sil { padding: 3px; }
.fcs-cabinet .ff-cell.is-ready .ff-fig { border-color: var(--ff-khaki); }
.fcs-cabinet .ff-acts { position: absolute; top: 6px; right: 6px; display: flex; gap: 4px; }
.fcs-cabinet .ff-ic { width: 36px; height: 36px; display: inline-grid; place-items: center; padding: 0; border: 1px solid var(--ff-line); border-radius: 50%; background: var(--ff-shade); cursor: pointer; text-decoration: none; }
.fcs-cabinet .ff-ic svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.fcs-cabinet .ff-more svg { fill: currentColor; stroke: none; }
.fcs-cabinet .ff-ic[disabled] { opacity: .55; cursor: default; }
.fcs-cabinet .ff-ic:hover:not([disabled]) { border-color: var(--ff-khaki); }
.fcs-cabinet .ff-link { background: var(--ff-khaki); border-color: var(--ff-khaki); color: var(--ff-on-khaki); }
.fcs-cabinet .ff-bar { position: absolute; left: 0; bottom: 0; height: 3px; background: var(--ff-khaki); transition: width .4s; }
.fcs-cabinet .ff-cap { display: flex; align-items: center; gap: 8px; margin-top: 6px; min-width: 0; }
.fcs-cabinet .ff-n { font: 500 12px var(--ff-mono); color: var(--ff-muted); }
.fcs-cabinet .ff-st { font: 400 12px var(--ff-mono); color: var(--ff-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fcs-cabinet .ff-st.is-build { color: var(--ff-khaki); }
.fcs-cabinet .ff-st.is-ready { color: var(--ff-ok); }
  .fcs-cabinet .ff-ic { width: 44px; height: 44px; }
  .fcs-cabinet .ff-acts { top: 4px; right: 4px; }
.fcs-cabinet .ff-acts{top:auto;bottom:6px}