*, ::before, ::after { box-sizing: border-box; border: 0 solid; }
body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd, pre, hr { margin: 0; }
ul, ol, menu { list-style: none; margin: 0; padding: 0; }
a { text-decoration: none; color: inherit; }
button, input, optgroup, select, textarea { font: inherit; color: inherit; letter-spacing: inherit; }
button { background: none; cursor: pointer; }
img, svg, video, canvas { display: block; vertical-align: middle; }
input::placeholder, textarea::placeholder { opacity: 1; color: color-mix(in srgb, currentColor 45%, transparent); }
strong, b { font-weight: bolder; }
table { border-collapse: collapse; }
hr { height: 0; }
:root {
  --font-display: "Unbounded", "Golos Text", system-ui, sans-serif;
  --font-sans: "Golos Text", ui-sans-serif, system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;


  --color-paper: #eceff0;
  --color-surface: #ffffff;
  --color-surface-2: #f6f8f8;
  --color-surface-3: #eef2f2;
  --color-line: #d6dfe0;
  --color-line-soft: #e5ecec;

  --color-ink: #14211f;
  --color-ink-2: #3b504e;
  --color-ink-3: #6b8280;
  --color-ink-4: #94a8a6;

  --color-brand: #0f7fa8;
  --color-brand-deep: #0a5d7d;
  --color-brand-soft: #e2f0f6;
  --color-cat-bar: #14211f;
  --color-accent: #cf7a1e;
  --color-accent-soft: #fdf1e0;
  --color-ok: #2c8f5b;
  --color-ok-soft: #e5f4eb;
  --color-warn: #b8801a;
  --color-danger: #bc4437;
  --color-danger-soft: #fbeae7;

  --radius-xs: 4px;
  --radius-sm: 7px;
  --radius-md: 11px;
  --radius-lg: 16px;

  --shadow-card: 0 1px 2px rgba(16, 40, 38, 0.05), 0 8px 24px -18px rgba(16, 40, 38, 0.35);
  --shadow-pop: 0 2px 6px rgba(16, 40, 38, 0.08), 0 18px 44px -22px rgba(16, 40, 38, 0.45);
}

[data-theme="dark"] {
  --color-paper: #0d171a;
  --color-surface: #14232a;
  --color-surface-2: #182b33;
  --color-surface-3: #1d323b;
  --color-line: #26404a;
  --color-line-soft: #1e343d;

  --color-ink: #e7f0f1;
  --color-ink-2: #b9cbcd;
  --color-ink-3: #88a0a3;
  --color-ink-4: #63807f;

  --color-brand: #48aecf;
  --color-brand-deep: #6fc4de;
  --color-brand-soft: #14323e;
  --color-cat-bar: #1d323b;
  --color-accent: #e0a04a;
  --color-accent-soft: #33291a;
  --color-ok: #4fbb83;
  --color-ok-soft: #16301f;
  --color-warn: #d7a83f;
  --color-danger: #e0756a;
  --color-danger-soft: #341f1c;

  --shadow-card: 0 1px 2px rgba(0, 0, 0, 0.4), 0 10px 30px -22px rgba(0, 0, 0, 0.9);
  --shadow-pop: 0 2px 8px rgba(0, 0, 0, 0.45), 0 22px 50px -26px rgba(0, 0, 0, 1);
}

  * {
    border-color: var(--color-line);
  }

  html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
  }

  body {
    margin: 0;
    background-color: var(--color-paper);

    background-image:
      radial-gradient(1100px 420px at 12% -8%, color-mix(in srgb, var(--color-brand) 16%, transparent), transparent 70%),
      radial-gradient(900px 380px at 96% 0%, color-mix(in srgb, var(--color-accent) 11%, transparent), transparent 72%),
      linear-gradient(to right, color-mix(in srgb, var(--color-ink) 4%, transparent) 1px, transparent 1px),
      linear-gradient(to bottom, color-mix(in srgb, var(--color-ink) 4%, transparent) 1px, transparent 1px);
    background-size: auto, auto, 48px 48px, 48px 48px;
    background-attachment: fixed;
    color: var(--color-ink);
    font-family: var(--font-sans);
    font-size: 15px;
    line-height: 1.6;
    font-variant-ligatures: none;
    transition: background-color 0.35s ease, color 0.35s ease;
  }

  ::selection {
    background: color-mix(in srgb, var(--color-brand) 28%, transparent);
  }

  :focus-visible {
    outline: 2px solid var(--color-brand);
    outline-offset: 2px;
    border-radius: var(--radius-xs);
  }

  h1, h2, h3, h4 {
    font-family: var(--font-display);
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin: 0;
  }

  a {
    color: var(--color-brand);
    text-decoration: none;
  }

  button {
    font: inherit;
    cursor: pointer;
  }

  input, select, textarea {
    font: inherit;
    color: inherit;
  }

  ::-webkit-scrollbar {
    width: 11px;
    height: 11px;
  }
  ::-webkit-scrollbar-track {
    background: var(--color-surface-2);
  }
  ::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--color-ink-4) 55%, transparent);
    border: 3px solid var(--color-surface-2);
    border-radius: 99px;
  }
  ::-webkit-scrollbar-thumb:hover {
    background: var(--color-ink-3);
  }


  .fx-shell {
    width: 100%;
    max-width: 1280px;
    margin-inline: auto;
    padding-inline: 20px;
  }

  .fx-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 318px;
    gap: 22px;
    align-items: start;
  }
  @media (max-width: 1040px) {
    .fx-layout { grid-template-columns: minmax(0, 1fr); }
  }

  .fx-stack > * + * { margin-top: 18px; }


  .fx-topbar {
    position: sticky;
    top: 0;
    z-index: 60;
    background: color-mix(in srgb, var(--color-surface) 92%, transparent);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--color-line);
    transition: box-shadow 0.3s ease, padding 0.3s ease;
  }
  .fx-topbar.is-stuck {
    box-shadow: 0 10px 30px -24px rgba(0, 0, 0, 0.6);
  }
  .fx-topbar__inner {
    display: flex;
    align-items: center;
    gap: 18px;
    height: 70px;
    transition: height 0.3s ease;
  }
  .fx-topbar.is-stuck .fx-topbar__inner { height: 60px; }

  .fx-topline {
    background: var(--color-ink);
    color: color-mix(in srgb, var(--color-paper) 82%, transparent);
    font-size: 13px;
  }
  [data-theme="dark"] .fx-topline {
    background: #0a1215;
    color: var(--color-ink-3);
  }
  .fx-topline__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    height: 34px;
    overflow: hidden;
  }
  .fx-topline a {
    color: inherit;
    opacity: 0.82;
    transition: opacity 0.2s ease;
  }
  .fx-topline a:hover { opacity: 1; }
  .fx-topline__links { display: flex; gap: 16px; align-items: center; }
  @media (max-width: 720px) { .fx-topline__links span:not(.fx-topline__keep) { display: none; } }

  .fx-brand {
    display: flex;
    align-items: center;
    gap: 11px;
    flex-shrink: 0;
  }
  .fx-brand__mark {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 11px 11px 11px 4px;
    background: linear-gradient(150deg, var(--color-brand), var(--color-brand-deep));
    color: #fff;
    box-shadow: 0 6px 16px -8px var(--color-brand);
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
  }
  .fx-brand:hover .fx-brand__mark { transform: rotate(-8deg) scale(1.06); }
  .fx-brand__text { display: flex; flex-direction: column; line-height: 1; }
  .fx-brand__name {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 16px;
    letter-spacing: -0.03em;
    color: var(--color-ink);
  }
  .fx-brand__sub {
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--color-ink-3);
    margin-top: 4px;
  }

  .fx-nav { display: flex; align-items: center; gap: 2px; margin-left: 6px; }
  .fx-nav__link {
    position: relative;
    padding: 8px 13px;
    border-radius: var(--radius-sm);
    font-size: 14px;
    font-weight: 500;
    color: var(--color-ink-2);
    background: none;
    border: 0;
    transition: color 0.2s ease, background 0.2s ease;
    white-space: nowrap;
  }
  .fx-nav__link::after {
    content: "";
    position: absolute;
    left: 13px;
    right: 13px;
    bottom: 2px;
    height: 2px;
    border-radius: 2px;
    background: var(--color-brand);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .fx-nav__link:hover { color: var(--color-ink); background: var(--color-surface-3); }
  .fx-nav__link:hover::after { transform: scaleX(0.4); }
  .fx-nav__link.is-active { color: var(--color-brand-deep); }
  [data-theme="dark"] .fx-nav__link.is-active { color: var(--color-brand); }
  .fx-nav__link.is-active::after { transform: scaleX(1); }
  @media (max-width: 900px) {
    .fx-nav {
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      flex-direction: column;
      align-items: stretch;
      gap: 2px;
      padding: 10px;
      background: var(--color-surface);
      border-bottom: 1px solid var(--color-line);
      box-shadow: var(--shadow-pop);
      display: none;
    }
    .fx-nav.is-open { display: flex; }
    .fx-nav__link::after { display: none; }
  }

  .fx-topbar__spacer { flex: 1; }

  .fx-search {
    position: relative;
    display: flex;
    align-items: center;
    width: 250px;
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .fx-search:focus-within { width: 320px; }
  .fx-search__icon {
    position: absolute;
    left: 11px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--color-ink-4);
    pointer-events: none;
    display: grid;
  }
  .fx-search__input {
    width: 100%;
    height: 38px;
    padding: 0 44px 0 34px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-sm);
    background: var(--color-surface-2);
    color: var(--color-ink);
    font-size: 14px;
    transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
  }
  .fx-search__input::placeholder { color: var(--color-ink-4); }
  .fx-search__input:focus {
    outline: none;
    background: var(--color-surface);
    border-color: var(--color-brand);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand) 16%, transparent);
  }
  .fx-search__kbd { position: absolute; right: 9px; }
  .fx-burger { display: none; }
  @media (max-width: 1180px) { .fx-topbar__bell { display: none; } }
  @media (max-width: 1140px) { .fx-search { width: 190px; } .fx-search:focus-within { width: 240px; } }
  @media (max-width: 1080px) { .fx-topbar .fx-user--guest .fx-topbar__auth-secondary { display: none; } }
  @media (max-width: 1000px) { .fx-search { display: none; } }
  @media (max-width: 900px) { .fx-burger { display: inline-grid; } }
  @media (max-width: 680px) {
    .fx-topbar__inner { gap: 10px; height: 62px; }
    .fx-brand__sub { display: none; }
    .fx-brand__name { font-size: 15px; }
  }

  .fx-kbd {
    font-family: var(--font-mono);
    font-size: 11px;
    line-height: 1;
    padding: 4px 6px;
    border: 1px solid var(--color-line);
    border-bottom-width: 2px;
    border-radius: var(--radius-xs);
    background: var(--color-surface);
    color: var(--color-ink-3);
  }


  .fx-btn {
    --btn-bg: var(--color-surface);
    --btn-fg: var(--color-ink-2);
    --btn-bd: var(--color-line);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 38px;
    padding: 0 16px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--btn-bd);
    background: var(--btn-bg);
    color: var(--btn-fg);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.01em;
    white-space: nowrap;
    position: relative;
    overflow: hidden;
    transition: transform 0.16s ease, box-shadow 0.2s ease, background 0.2s ease,
      color 0.2s ease, border-color 0.2s ease;
  }
  .fx-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(255, 255, 255, 0.28), transparent 60%);
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .fx-btn:hover::before { opacity: 1; }
  .fx-btn:hover { box-shadow: var(--shadow-card); }

  .fx-btn--primary {
    --btn-bg: linear-gradient(160deg, var(--color-brand), var(--color-brand-deep));
    --btn-fg: #fff;
    --btn-bd: transparent;
    box-shadow: 0 6px 16px -10px var(--color-brand);
  }
  .fx-btn--primary:hover { box-shadow: 0 10px 22px -10px var(--color-brand); }
  .fx-btn--soft {
    --btn-bg: var(--color-brand-soft);
    --btn-fg: var(--color-brand-deep);
    --btn-bd: transparent;
  }
  [data-theme="dark"] .fx-btn--soft { --btn-fg: var(--color-brand-deep); }
  .fx-btn--ghost { --btn-bg: transparent; --btn-bd: transparent; }
  .fx-btn--ghost:hover { --btn-bg: var(--color-surface-3); }
  .fx-btn--outline { --btn-bg: transparent; }
  .fx-btn--danger {
    --btn-bg: var(--color-danger-soft);
    --btn-fg: var(--color-danger);
    --btn-bd: transparent;
  }
  .fx-btn--sm { height: 31px; padding: 0 11px; font-size: 13px; border-radius: var(--radius-xs); }
  .fx-btn--lg { height: 46px; padding: 0 22px; font-size: 15px; }
  .fx-btn--icon { width: 38px; padding: 0; }
  .fx-btn--icon.fx-btn--sm { width: 31px; }
  .fx-btn[disabled] { opacity: 0.45; pointer-events: none; }

  .fx-icon-btn {
    display: inline-grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: var(--radius-sm);
    border: 1px solid transparent;
    background: transparent;
    color: var(--color-ink-2);
    transition: background 0.2s, color 0.2s, transform 0.2s;
  }
  .fx-icon-btn:hover { background: var(--color-surface-3); color: var(--color-ink); }
  .fx-icon-btn:active { transform: scale(0.92); }
  .fx-icon-btn.is-on { color: var(--color-accent); }


  .fx-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 26px;
    padding: 0 10px;
    border-radius: 99px;
    border: 1px solid var(--color-line);
    background: var(--color-surface-2);
    color: var(--color-ink-2);
    font-size: 12px;
    font-weight: 500;
    transition: border-color 0.2s, background 0.2s, color 0.2s, transform 0.2s;
  }
  .fx-chip:hover { border-color: var(--color-brand); color: var(--color-brand-deep); transform: translateY(-1px); }
  .fx-chip--on { background: var(--color-brand); border-color: var(--color-brand); color: #fff; }
  .fx-chip--on:hover { color: #fff; border-color: var(--color-brand); }
  [data-theme="dark"] .fx-chip--on,
  [data-theme="dark"] .fx-chip--on:hover { color: #06171d; }
  .fx-chip--ok { border-color: color-mix(in srgb, var(--color-ok) 30%, transparent); color: var(--color-ok); }
  .fx-chip--overlay { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .18); color: inherit; height: 22px; font-size: 12px; }

  .fx-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: var(--radius-xs);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    line-height: 1.7;
    background: var(--color-surface-3);
    color: var(--color-ink-3);
  }
  .fx-tag--ok { background: var(--color-ok-soft); color: var(--color-ok); }
  .fx-tag--warn { background: var(--color-warn-soft, rgba(217, 154, 91, .14)); color: var(--color-warn, #b97f3e); }
  .fx-tag--hot { background: var(--color-accent-soft); color: var(--color-accent); }
  .fx-tag--brand { background: var(--color-brand-soft); color: var(--color-brand-deep); }
  [data-theme="dark"] .fx-tag--brand { color: var(--color-brand-deep); }
  .fx-tag--danger { background: var(--color-danger-soft); color: var(--color-danger); }

  .fx-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 9px;
    border-radius: var(--radius-xs);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: var(--color-brand-soft);
    color: var(--color-brand-deep);
  }
  .fx-badge--mod { background: var(--color-ok-soft); color: var(--color-ok); }
  .fx-badge--admin { background: color-mix(in srgb, var(--color-danger) 14%, transparent); color: var(--color-danger); }
  .fx-badge--ghost { background: transparent; border: 1px dashed var(--color-line); color: var(--color-ink-3); }
  .fx-badge--new { background: var(--color-surface-3); color: var(--color-ink-3); }
  .fx-badge--user { background: var(--color-brand-soft); color: var(--color-brand-deep); }
  .fx-badge--active { background: var(--color-accent-soft); color: var(--color-accent); }
  .fx-badge--advanced { background: color-mix(in srgb, #7c3aed 14%, transparent); color: #6d28d9; }
  .fx-badge--expert { background: color-mix(in srgb, var(--color-warn) 16%, transparent); color: var(--color-warn); }
  [data-theme="dark"] .fx-badge--advanced { background: color-mix(in srgb, #a78bfa 18%, transparent); color: #c4b5fd; }
  .fx-post__aside .fx-badge { font-weight: 500; }


  .fx-avatar {
    --a-hue: 195;
    position: relative;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 14px;
    color: #fff;
    background: linear-gradient(
      150deg,
      hsl(var(--a-hue) 62% 52%),
      hsl(calc(var(--a-hue) + 34) 58% 36%)
    );
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24);
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
  }
  .fx-avatar:hover { transform: translateY(-2px) rotate(-3deg); }
  .fx-avatar--xs { width: 24px; height: 24px; border-radius: 8px; font-size: 10px; }
  .fx-avatar--sm { width: 32px; height: 32px; border-radius: 10px; font-size: 12px; }
  .fx-avatar--lg { width: 64px; height: 64px; border-radius: 18px; font-size: 21px; }
  .fx-avatar--xl { width: 96px; height: 96px; border-radius: 26px; font-size: 31px; }
  .fx-avatar__status {
    position: absolute;
    z-index: 2;
    right: -2px;
    bottom: -2px;
    width: 12px;
    height: 12px;
    border-radius: 99px;
    background: var(--color-ok);
    border: 2.5px solid var(--color-surface);
  }
  .fx-avatar__status--off { background: var(--color-ink-4); }


  .fx-panel {
    background: var(--color-surface);
    border: 1px solid var(--color-line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card);
    overflow: hidden;
  }
  /* попапы редактора (эмодзи/цвет/размер) не должны обрезаться панелью */
  .fx-panel.is-pop-open { overflow: visible; }
  .fx-panel__head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--color-line-soft);
    background: linear-gradient(var(--color-surface), var(--color-surface-2));
  }
  .fx-panel__title {
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-ink);
  }
  .fx-panel__spacer { flex: 1; }
  .fx-panel__body { padding: 16px 18px; }
  .fx-panel__body--flush { padding: 0; }
  .fx-panel__foot {
    padding: 12px 18px;
    border-top: 1px solid var(--color-line-soft);
    background: var(--color-surface-2);
  }


  .fx-crumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    padding: 14px 0;
    font-size: 13px;
    color: var(--color-ink-3);
  }
  .fx-crumbs__link { color: var(--color-ink-3); transition: color 0.2s; }
  .fx-crumbs__link:hover { color: var(--color-brand); }
  .fx-crumbs__sep { color: var(--color-ink-4); display: grid; }
  .fx-crumbs__cur { color: var(--color-ink); font-weight: 600; }


  .fx-pagehead {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: nowrap;
    padding: 6px 0 18px;
  }
  .fx-pagehead__kicker {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-brand);
    margin-bottom: 8px;
  }
  .fx-pagehead__title {
    font-size: clamp(24px, 3.4vw, 36px);
    font-weight: 800;
    letter-spacing: -0.035em;
  }
  .fx-pagehead__title-sub {
    font-size: clamp(20px, 2.8vw, 32px);
  }
  .fx-pagehead__note { color: var(--color-ink-3); font-size: 14px; margin-top: 8px; max-width: 62ch; }
  .fx-pagehead__side { display: flex; align-items: center; gap: 10px; flex-wrap: nowrap; }
  .fx-pagehead__side--pm { flex-wrap: wrap; justify-content: flex-end; row-gap: 8px; }
  .fx-pagehead--pm { flex-wrap: wrap; align-items: flex-start; }
  .fx-pagehead--pm > div:first-child { flex: 1 1 420px; min-width: 0; }
  .fx-pagehead--pm .fx-pagehead__side--pm { margin-left: auto; }
  .fx-pagehead--pm .fx-pagehead__title { overflow-wrap: anywhere; word-break: break-word; }
  .fx-pagehead__side--pm .fx-pmsearch { flex: 1 1 280px; min-width: 0; }
  .fx-pagehead__side--pm .fx-pmbookmark { flex: 0 0 auto; align-self: center; width: 32px; height: 32px; margin-left: 2px; }

  @media (max-width: 720px) {
    .fx-pagehead { flex-wrap: wrap; }
    .fx-pagehead__side { flex-wrap: wrap; }
  }

  .fx-cat { margin-bottom: 20px; }
  .fx-cat__bar {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 13px 18px;
    border: 1px solid var(--color-line);
    border-bottom: 0;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    background: var(--color-cat-bar, var(--color-ink));
    color: var(--color-paper);
    text-align: left;
    position: relative;
    overflow: hidden;
  }
  [data-theme="dark"] .fx-cat__bar { color: var(--color-ink); }
  .fx-cat__bar::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, transparent 20%, color-mix(in srgb, var(--color-brand) 55%, transparent) 50%, transparent 80%);
    opacity: 0.14;
    transform: translateX(-100%);
    transition: transform 0.75s ease;
  }
  .fx-cat__bar:hover::after { transform: translateX(100%); }
  .fx-cat__name {
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.01em;
  }
  .fx-cat__count {
    font-family: var(--font-mono);
    font-size: 12px;
    opacity: 0.66;
    margin-left: auto;
  }
  .fx-cat__toggle { transition: transform 0.3s ease; display: grid; }
  .fx-cat.is-collapsed .fx-cat__toggle { transform: rotate(-90deg); }
  .fx-cat__body { border-radius: 0 0 var(--radius-lg) var(--radius-lg); }
  .fx-cat.is-collapsed .fx-cat__body { display: none; }

  .fx-forum {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) 120px 300px;
    gap: 16px;
    align-items: center;
    padding: 15px 18px;
    background: var(--color-surface);
    border: 1px solid var(--color-line);
    border-top: 0;
    position: relative;
    transition: background 0.22s ease;
  }
  .fx-forum::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--color-brand);
    transform: scaleY(0);
    transform-origin: center;
    transition: transform 0.28s ease;
  }
  .fx-forum:hover { background: var(--color-surface-2); }
  .fx-forum:hover::before { transform: scaleY(1); }
  .fx-forum:last-child { border-radius: 0 0 var(--radius-lg) var(--radius-lg); }

  .fx-forum__icon {
    width: 44px;
    height: 44px;
    border-radius: 13px;
    display: grid;
    place-items: center;
    background: var(--color-surface-3);
    color: var(--color-ink-3);
    border: 1px solid var(--color-line-soft);
    transition: color 0.25s, background 0.25s, transform 0.25s;
  }
  .fx-forum:hover .fx-forum__icon {
    color: var(--color-brand);
    background: var(--color-brand-soft);
    transform: scale(1.05);
  }
  .fx-forum__icon--sm { width: 34px; height: 34px; border-radius: 10px; }
  .fx-forum__icon--xs { width: 30px; height: 30px; border-radius: 9px; }
  .fx-forum__icon--new {
    color: var(--color-brand);
    background: var(--color-brand-soft);
    border-color: color-mix(in srgb, var(--color-brand) 32%, transparent);
  }
  .fx-forum__title {
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 600;
    color: var(--color-ink);
    letter-spacing: -0.015em;
    transition: color 0.2s;
  }
  .fx-forum:hover .fx-forum__title { color: var(--color-brand-deep); }
  [data-theme="dark"] .fx-forum:hover .fx-forum__title { color: var(--color-brand); }
  .fx-forum__desc { font-size: 13px; color: var(--color-ink-3); margin-top: 3px; }
  .fx-forum__subs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
  .fx-forum__sub {
    font-size: 12px;
    padding: 2px 9px;
    border-radius: 99px;
    background: var(--color-surface-3);
    border: 1px solid var(--color-line-soft);
    color: var(--color-ink-2);
    transition: all 0.2s;
  }
  .fx-forum__sub:hover { border-color: var(--color-brand); color: var(--color-brand); }

  .fx-counts { display: flex; gap: 18px; }
  .fx-counts__item { display: flex; flex-direction: column; }
  .fx-counts__val {
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 600;
    color: var(--color-ink);
    font-variant-numeric: tabular-nums;
  }
  .fx-counts__key {
    font-size: 11px;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--color-ink-4);
  }

  .fx-last {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 9px 11px;
    border-radius: var(--radius-md);
    background: var(--color-surface-2);
    border: 1px solid var(--color-line-soft);
    min-width: 0;
    transition: border-color 0.2s, transform 0.2s;
  }
  .fx-last:hover { border-color: color-mix(in srgb, var(--color-brand) 40%, transparent); transform: translateX(2px); }
  .fx-last__body { min-width: 0; }
  .fx-last__title {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .fx-last__title:hover { color: var(--color-brand); }
  .fx-last__meta { font-size: 12px; color: var(--color-ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .fx-last__meta b { color: var(--color-ink-2); font-weight: 500; }

  .fx-last--answers { align-items: flex-start; }
  .fx-last--answers > .fx-avatar { margin-top: 5px; }
  .fx-last--answers .fx-last__body { flex: 1 1 auto; display: block; min-width: 0; overflow: hidden; }
  .fx-last--answers .fx-last__title { margin-bottom: 2px; }
  .fx-last--answers .fx-side-lp__topic {
    display: block;
    font-size: 12px;
    color: var(--color-ink-3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .fx-last--answers .fx-side-lp__meta {
    display: block;
    font-size: 12px;
    color: var(--color-ink-4);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
  }
  .fx-last--answers .fx-side-lp__meta b { color: var(--color-ink-2); font-weight: 500; }

  .fx-topic__last .fx-last__title { font-weight: 400; }

  @media (max-width: 900px) {
    .fx-forum { grid-template-columns: 42px minmax(0, 1fr); }
    .fx-forum__counts, .fx-forum__last { grid-column: 2; }
    .fx-forum__last { margin-top: 4px; }
  }
  @media (max-width: 640px) {
    .fx-forum { grid-template-columns: 30px minmax(0, 1fr); gap: 4px 10px; padding: 11px 12px; }
    .fx-forum__icon { width: 28px; height: 28px; border-radius: 8px; align-self: start; margin-top: 2px; }
    .fx-forum__icon svg { width: 15px; height: 15px; }
    .fx-forum__title { font-size: 15px; }
    .fx-forum__desc { font-size: 12px; margin-top: 3px; }
  }


  .fx-announce {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  }
  .fx-announce__side {
    border-left: 1px solid var(--color-line-soft);
    padding: 22px 22px 18px;
    background: linear-gradient(180deg, var(--color-surface-2), var(--color-surface));
  }
  .fx-boardfoot {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
    gap: 22px;
  }
  @media (max-width: 940px) {
    .fx-announce { grid-template-columns: minmax(0, 1fr); }
    .fx-announce__side { border-left: 0; border-top: 1px solid var(--color-line-soft); }
    .fx-boardfoot { grid-template-columns: minmax(0, 1fr); }
  }


  .fx-toolbar {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 11px 14px;
    background: var(--color-surface);
    border: 1px solid var(--color-line);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-card);
  }
  .fx-toolbar__group { display: flex; align-items: center; gap: 6px; }
  .fx-toolbar__spacer { flex: 1; }
  .fx-toolbar__label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: var(--color-ink-4);
  }

  @media (max-width: 640px) {
    .fx-toolbar__group { flex-wrap: wrap; }
    .fx-toolbar__group--order { margin-left: auto; justify-content: flex-end; }
    .fx-post__foot .fx-post__btn-text { display: none; }
    .fx-editor__hint-code { display: none !important; }
    .fx-compose__meta { flex-wrap: wrap; row-gap: 8px; }
    .fx-compose__checks { width: 100%; flex-wrap: wrap; gap: 8px 14px; }
    .fx-compose__checks label { flex: 0 1 auto; }
  }

  .fx-select {
    height: 32px;
    padding: 0 30px 0 11px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--color-line);
    background: var(--color-surface-2);
    color: var(--color-ink-2);
    font-size: 13px;
    font-weight: 500;
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, var(--color-ink-3) 50%),
      linear-gradient(135deg, var(--color-ink-3) 50%, transparent 50%);
    background-position: calc(100% - 15px) 14px, calc(100% - 10px) 14px;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
    transition: border-color 0.2s, box-shadow 0.2s;
  }
  .fx-select:hover { border-color: var(--color-ink-4); }
  .fx-select:focus { outline: none; border-color: var(--color-brand); box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand) 15%, transparent); }

  .fx-topics {
    background: var(--color-surface);
    border: 1px solid var(--color-line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card);
    overflow: hidden;
  }
  .fx-topics__head {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 190px 122px 330px;
    gap: 14px;
    align-items: center;
    padding: 10px 16px;
    background: var(--color-surface-3);
    border-bottom: 1px solid var(--color-line);
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-ink-3);
    font-weight: 700;
  }
  .fx-topics__head button {
    background: none;
    border: 0;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: color 0.2s;
  }
  .fx-topics__head button:hover { color: var(--color-brand); }

  .fx-topic {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 190px 122px 330px;
    gap: 14px;
    align-items: center;
    padding: 13px 16px;
    border-bottom: 1px solid var(--color-line-soft);
    position: relative;
    transition: background 0.2s ease;
  }
  .fx-topic:last-child { border-bottom: 0; }
  .fx-topic::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: var(--color-brand);
    transform: scaleY(0);
    transition: transform 0.25s ease;
  }
  .fx-topic:hover { background: var(--color-surface-2); }
  .fx-topic:hover::before { transform: scaleY(1); }
  .fx-topic--pinned { background: color-mix(in srgb, var(--color-accent) 6%, var(--color-surface)); }
  .fx-topic--pinned:hover { background: color-mix(in srgb, var(--color-accent) 10%, var(--color-surface)); }
  .fx-topic--closed .fx-topic__title { color: var(--color-ink-3); }

  .fx-topic__icon {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    display: grid;
    place-items: center;
    background: var(--color-surface-3);
    color: var(--color-ink-3);
    border: 1px solid var(--color-line-soft);
    transition: all 0.25s;
  }
  .fx-topic:hover .fx-topic__icon { transform: translateY(-2px); }
  .fx-topic__icon--new { background: var(--color-brand); color: #fff; border-color: transparent; }
  .fx-topic__icon--hot { background: var(--color-accent-soft); color: var(--color-accent); border-color: color-mix(in srgb, var(--color-accent) 30%, transparent); }
  .fx-topic__icon--ok { background: var(--color-ok-soft); color: var(--color-ok); border-color: color-mix(in srgb, var(--color-ok) 30%, transparent); }
  .fx-topic__icon--pin { background: var(--color-accent); color: #fff; border-color: transparent; }

  .fx-topic__title {
    font-size: 15px;
    font-weight: 600;
    color: var(--color-ink);
    letter-spacing: -0.01em;
    transition: color 0.18s;
  }
  .fx-topic:hover .fx-topic__title { color: var(--color-brand-deep); }
  [data-theme="dark"] .fx-topic:hover .fx-topic__title { color: var(--color-brand); }
  .fx-topic__row2 { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; margin-top: 5px; }
  .fx-topic__starter { font-size: 13px; color: var(--color-ink-3); }
  .fx-topic__starter b { color: var(--color-ink-2); font-weight: 600; }
  .fx-topic__pages { display: flex; gap: 3px; }
  .fx-topic__page {
    font-family: var(--font-mono);
    font-size: 11px;
    padding: 1px 5px;
    border-radius: var(--radius-xs);
    border: 1px solid var(--color-line);
    color: var(--color-ink-3);
    background: var(--color-surface);
    transition: all 0.18s;
  }
  .fx-topic__page:hover { border-color: var(--color-brand); color: var(--color-brand); }

  .fx-topic__stats { display: grid; gap: 3px; }
  .fx-topic__stat { display: flex; align-items: baseline; gap: 5px; }
  .fx-topic__stat b {
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 600;
    color: var(--color-ink);
    font-variant-numeric: tabular-nums;
  }
  .fx-topic__stat span { font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-ink-4); }

  .fx-topic__views {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-mono);
    font-size: 13px;
    color: var(--color-ink-3);
  }

  @media (max-width: 1080px) {
    .fx-topics__head { display: none; }
    .fx-topic { grid-template-columns: 40px minmax(0, 1fr); row-gap: 10px; }
    .fx-topic__starter, .fx-topic__stats, .fx-topic__views, .fx-topic__last { grid-column: 2; }
  }


  .fx-pager { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
  .fx-pager__item {
    min-width: 32px;
    height: 32px;
    padding: 0 9px;
    display: inline-grid;
    place-items: center;
    border-radius: var(--radius-xs);
    border: 1px solid var(--color-line);
    background: var(--color-surface);
    color: var(--color-ink-2);
    font-family: var(--font-mono);
    font-size: 13px;
    transition: all 0.18s ease;
  }
  .fx-pager__item:hover:not(.is-active) { border-color: var(--color-brand); color: var(--color-brand); transform: translateY(-1px); }
  .fx-pager__item.is-active {
    background: var(--color-brand);
    border-color: var(--color-brand);
    color: #fff;
    box-shadow: 0 5px 14px -8px var(--color-brand);
  }
  [data-theme="dark"] .fx-pager__item.is-active { color: #06171d; }
  .fx-pager__gap { color: var(--color-ink-4); padding: 0 3px; }


  .fx-post {
    display: grid;
    grid-template-columns: 196px minmax(0, 1fr);
    background: var(--color-surface);
    border: 1px solid var(--color-line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card);
    overflow: hidden;
    transition: box-shadow 0.3s ease, border-color 0.3s ease;
  }
  .fx-post:hover { border-color: color-mix(in srgb, var(--color-brand) 32%, var(--color-line)); }
  .fx-post--op { border-color: color-mix(in srgb, var(--color-brand) 40%, var(--color-line)); }
  .fx-post--op .fx-post__aside { background: var(--color-brand-soft); }
  .fx-post--best { border-color: color-mix(in srgb, var(--color-ok) 45%, var(--color-line)); }

  .fx-post__aside {
    position: relative;
    padding: 20px 16px;
    background: var(--color-surface-2);
    border-right: 1px solid var(--color-line-soft);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 9px;
    text-align: center;
  }
  .fx-post__ident {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    min-width: 0;
    width: 100%;
  }
  .fx-post__name {
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 600;
    color: var(--color-ink);
    letter-spacing: -0.01em;
    word-break: break-word;
  }
  .fx-post__name:hover { color: var(--color-brand); }
  .fx-post__role { font-size: 12px; color: var(--color-ink-3); margin-top: -4px; }
  .fx-post__meta {
    width: 100%;
    margin-top: 6px;
    padding-top: 10px;
    border-top: 1px dashed var(--color-line);
    display: grid;
    gap: 5px;
    font-size: 12px;
    color: var(--color-ink-3);
  }
  .fx-post__meta div { display: flex; justify-content: space-between; gap: 8px; }
  .fx-post__meta b { color: var(--color-ink-2); font-weight: 600; font-family: var(--font-mono); font-size: 12px; }

  .fx-post__pmrow {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
    margin: 0;
    padding: 0;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-2px);
    transition: opacity 0.18s ease, transform 0.18s ease;
  }
  .fx-post__aside:hover .fx-post__pmrow,
  .fx-post__pmrow:focus-within {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .fx-post__main { display: flex; flex-direction: column; min-width: 0; }
  .fx-post__head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 18px;
    border-bottom: 1px solid var(--color-line-soft);
    font-size: 13px;
    color: var(--color-ink-3);
  }
  .fx-post__num {
    font-family: var(--font-mono);
    font-size: 12px;
    color: var(--color-ink-4);
    margin-left: auto;
  }
  .fx-post__body { padding: 18px; flex: 1; }
  .fx-post__foot {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 10px 18px;
    border-top: 1px solid var(--color-line-soft);
  }
  .fx-post__foot-spacer { flex: 1; }

  .fx-post__foot .fx-btn { font-weight: normal; }

  @media (max-width: 780px) {
    .fx-post { grid-template-columns: minmax(0, 1fr); }
    .fx-post__aside {
      position: relative;
      display: grid;
      grid-template-columns: 64px minmax(0, 1fr);
      align-items: start;
      text-align: left;
      gap: 8px 12px;
      border-right: 0;
      border-bottom: 1px solid var(--color-line-soft);
      padding: 12px 14px;
    }
    .fx-post__aside > .fx-avatar { grid-column: 1; grid-row: 1; }
    .fx-post__ident {
      grid-column: 2;
      grid-row: 1;
      width: auto;
      align-items: flex-start;
      gap: 6px;
    }
    .fx-post__aside .fx-post__name { min-width: 0; }
    .fx-post__aside .fx-badge { flex: 0 0 auto; }
    .fx-post__pmrow {
      opacity: 1;
      pointer-events: auto;
      transform: none;
      position: absolute;
      top: 3px;
      right: 12px;
      margin: 0;
      padding: 0;
      z-index: 1;
    }
    .fx-post__pmrow .fx-btn { padding: 4px 8px; }
    .fx-post__meta {
      grid-column: 1 / -1;
      grid-row: 2;
      width: 100%;
      margin: 0;
      padding: 0;
      border: 0;
      display: grid;
      grid-template-columns: max-content minmax(0, 1fr) max-content minmax(0, 1fr);
      column-gap: 10px;
      row-gap: 0;
      line-height: 1.55;
    }
    .fx-post__meta > div { display: contents; }
    .fx-post__meta > div > span { white-space: nowrap; }
    .fx-post__meta > div > b {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .fx-post__aside .fx-post__meta > div > b {
      text-align: left;
      max-width: none;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
  }


  .fx-prose { font-size: 15px; color: var(--color-ink-2); line-height: 1.7; margin-bottom: 5px; }
  .fx-prose p + p { margin-top: 12px; }
  .fx-prose strong { color: var(--color-ink); font-weight: 600; }
  .fx-prose a { text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--color-brand) 45%, transparent); text-underline-offset: 3px; }
  .fx-prose a:hover { background: var(--color-brand-soft); }
  .fx-prose ul, .fx-prose ol { padding-left: 20px; margin: 12px 0; }
  .fx-prose li + li { margin-top: 5px; }
  .fx-prose li::marker { color: var(--color-brand); }
  .fx-prose h4 { font-size: 15px; margin: 18px 0 8px; color: var(--color-ink); }
  .fx-ivar {
    padding: 0px 10px;
    border: 1px solid #d7e4f5;
    border-radius: 4px;
    background: #eaf2fb;
    font-family: var(--font-mono);
    font-size: 14px;
    color: #263937;
    display: inline-block;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    margin-top: 5px;
  }
  [data-theme="dark"] .fx-ivar {
    background: #162733;
    border-color: #244252;
    color: #d6e6e7;
  }

  .fx-quote {
    margin: 14px 0 0;
    border: 1px solid var(--color-line);
    border-left: 3px solid var(--color-brand);
    border-radius: var(--radius-sm);
    background: var(--color-surface-2);
    overflow: hidden;
  }
  .fx-quote__head {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 13px;
    font-size: 12px;
    font-weight: 600;
    color: var(--color-ink-3);
    background: var(--color-surface-3);
    border-bottom: 1px solid var(--color-line-soft);
  }
  .fx-quote__body { padding: 12px 14px; font-size: 14px; color: var(--color-ink-3); }
  .fx-quote.is-collapsible:not(.is-expanded) .fx-quote__body {
    max-height: 100px;
    overflow: hidden;
  }
  .fx-quote__more {
    display: block;
    width: 100%;
    padding: 7px 12px;
    border: 0;
    border-top: 1px solid var(--color-line-soft);
    background: var(--color-surface-2);
    color: var(--color-ink-3);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
  }
  .fx-quote__more[hidden] { display: none; }
  .fx-quote__more:hover { color: var(--color-brand); }
  [data-theme="dark"] .fx-quote__more {
    background: #0a1215;
    border-top-color: rgba(255, 255, 255, 0.08);
    color: #9fb8bb;
  }
  .fx-quote-fab {
    position: fixed;
    z-index: 140;
    padding: 6px 11px;
    border: 1px solid color-mix(in srgb, var(--color-brand) 45%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--color-surface) 82%, transparent);
    color: var(--color-brand-deep);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    box-shadow: var(--shadow-card);
    opacity: 0.9;
    cursor: pointer;
    backdrop-filter: blur(6px);
    transition: opacity 0.15s, transform 0.15s;
  }
  .fx-quote-fab:hover { opacity: 1; transform: translateY(-1px); }

  .fx-code {
    margin: 14px 0 0;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-md);
    overflow: hidden;
    background: #f4f7f7;
  }
  .fx-code__head {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 12px;
    background: #eaf0f0;
    border-bottom: 1px solid #d7e2e1;
    font-family: var(--font-mono);
    font-size: 12px;
    color: #55706e;
    letter-spacing: 0.05em;
  }
  .fx-code__lang { text-transform: uppercase; color: #0f7fa8; }
  .fx-code__copy {
    margin-left: auto;
    background: none;
    border: 1px solid #c4d3d2;
    color: #45615f;
    border-radius: var(--radius-xs);
    font-size: 11px;
    padding: 3px 9px;
    transition: all 0.2s;
  }
  .fx-code__copy:hover { background: #e0ebea; color: #14211f; }
  .fx-code__body {
    margin: 0;
    padding: 14px;
    max-height: 360px;
    overflow-x: auto;
    overflow-y: auto;
    font-family: var(--font-mono);
    font-size: 13px;
    line-height: 1.75;
    color: #263937;
  }
  .fx-code.is-expanded .fx-code__body { max-height: none; }
  .fx-code__more {
    display: block;
    width: 100%;
    padding: 7px 12px;
    border: 0;
    border-top: 1px solid var(--color-line);
    background: var(--color-surface-2);
    color: var(--color-ink-3);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
  }
  .fx-code__more:hover { color: var(--color-brand); }
  .fx-var {
    margin: 14px 0 0;
    padding: 10px 12px;
    border: 1px solid #d7e4f5;
    border-radius: 4px;
    background: #eaf2fb;
    font-family: var(--font-mono);
    font-size: 13px;
    line-height: 1.55;
    color: #263937;
    overflow-x: auto;
  }
  [data-theme="dark"] .fx-var {
    background: #162733;
    border-color: #244252;
    color: #d6e6e7;
  }
  [data-theme="dark"] .fx-code__more {
    background: #0a1215;
    border-top-color: rgba(255, 255, 255, 0.08);
    color: #9fb8bb;
  }
  /* Prism: токены; светлая тема по умолчанию, тёмная — по data-theme. */
  .fx-code .token.cdata,
  .fx-code .token.comment,
  .fx-code .token.doctype,
  .fx-code .token.prolog { color: #708090; }
  .fx-code .token.punctuation { color: #5b6e6d; }
  .fx-code .token.namespace { opacity: .7; }
  .fx-code .token.boolean,
  .fx-code .token.constant,
  .fx-code .token.deleted,
  .fx-code .token.number,
  .fx-code .token.property,
  .fx-code .token.symbol,
  .fx-code .token.tag { color: #905; }
  .fx-code .token.attr-name,
  .fx-code .token.builtin,
  .fx-code .token.char,
  .fx-code .token.inserted,
  .fx-code .token.selector,
  .fx-code .token.string { color: #690; }
  .fx-code .language-css .token.string,
  .fx-code .style .token.string,
  .fx-code .token.entity,
  .fx-code .token.operator,
  .fx-code .token.url { color: #9a6e3a; }
  .fx-code .token.atrule,
  .fx-code .token.attr-value,
  .fx-code .token.keyword { color: #07a; }
  .fx-code .token.class-name,
  .fx-code .token.function { color: #dd4a68; }
  .fx-code .token.important,
  .fx-code .token.regex,
  .fx-code .token.variable { color: #e90; }
  .fx-code .token.bold,
  .fx-code .token.important { font-weight: 700; }
  .fx-code .token.italic { font-style: italic; }
  .fx-code .token.entity { cursor: help; }

  [data-theme="dark"] .fx-code { background: #10201f; }
  [data-theme="dark"] .fx-code__head {
    background: rgba(255, 255, 255, 0.05);
    border-bottom-color: rgba(255, 255, 255, 0.08);
    color: #9fb8bb;
  }
  [data-theme="dark"] .fx-code__lang { color: #63d3e8; }
  [data-theme="dark"] .fx-code__copy { border-color: rgba(255, 255, 255, 0.14); color: #c6d8da; }
  [data-theme="dark"] .fx-code__copy:hover { background: rgba(255, 255, 255, 0.1); color: #fff; }
  [data-theme="dark"] .fx-code__body { color: #d6e6e7; }
  [data-theme="dark"] .fx-code .token.cdata,
  [data-theme="dark"] .fx-code .token.comment,
  [data-theme="dark"] .fx-code .token.doctype,
  [data-theme="dark"] .fx-code .token.prolog { color: #999; }
  [data-theme="dark"] .fx-code .token.punctuation { color: #ccc; }
  [data-theme="dark"] .fx-code .token.attr-name,
  [data-theme="dark"] .fx-code .token.deleted,
  [data-theme="dark"] .fx-code .token.namespace,
  [data-theme="dark"] .fx-code .token.tag { color: #e2777a; }
  [data-theme="dark"] .fx-code .token.function-name { color: #6196cc; }
  [data-theme="dark"] .fx-code .token.boolean,
  [data-theme="dark"] .fx-code .token.function,
  [data-theme="dark"] .fx-code .token.number { color: #f08d49; }
  [data-theme="dark"] .fx-code .token.class-name,
  [data-theme="dark"] .fx-code .token.constant,
  [data-theme="dark"] .fx-code .token.property,
  [data-theme="dark"] .fx-code .token.symbol { color: #f8c555; }
  [data-theme="dark"] .fx-code .token.atrule,
  [data-theme="dark"] .fx-code .token.builtin,
  [data-theme="dark"] .fx-code .token.important,
  [data-theme="dark"] .fx-code .token.keyword,
  [data-theme="dark"] .fx-code .token.selector { color: #cc99cd; }
  [data-theme="dark"] .fx-code .token.attr-value,
  [data-theme="dark"] .fx-code .token.char,
  [data-theme="dark"] .fx-code .token.regex,
  [data-theme="dark"] .fx-code .token.string,
  [data-theme="dark"] .fx-code .token.variable { color: #7ec699; }
  [data-theme="dark"] .fx-code .token.entity,
  [data-theme="dark"] .fx-code .token.operator,
  [data-theme="dark"] .fx-code .token.url { color: #67cdcc; }
  [data-theme="dark"] .fx-code .token.inserted { color: #7ec699; }

  .fx-spoiler {
    margin: 14px 0 0;
    border: 1px dashed var(--color-line);
    border-radius: var(--radius-md);
    background: var(--color-surface-2);
    overflow: hidden;
  }
  .fx-spoiler > summary {
    list-style: none;
    cursor: pointer;
    padding: 11px 14px;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-brand-deep);
    display: flex;
    align-items: center;
    gap: 8px;
    transition: background 0.2s;
  }
  [data-theme="dark"] .fx-spoiler > summary { color: var(--color-brand); }
  .fx-spoiler > summary::-webkit-details-marker { display: none; }
  .fx-spoiler > summary:hover { background: var(--color-surface-3); }
  .fx-spoiler > summary .fx-spoiler__chev { transition: transform 0.25s ease; display: grid; }
  .fx-spoiler[open] > summary .fx-spoiler__chev { transform: rotate(90deg); }
  .fx-spoiler__body { padding: 0 14px 14px; border-top: 1px dashed var(--color-line); padding-top: 12px; }

  .fx-attach {
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 14px 0;
    padding: 11px 13px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-md);
    background: var(--color-surface-2);
    transition: all 0.22s;
  }
  .fx-attach:hover { border-color: var(--color-brand); background: var(--color-brand-soft); }
  .fx-attach__name { font-size: 14px; font-weight: 600; color: var(--color-ink); }
  .fx-attach__meta { font-size: 12px; color: var(--color-ink-3); font-family: var(--font-mono); }

  .fx-signature {
    margin-top: 18px;
    padding-top: 12px;
    border-top: 1px dashed var(--color-line);
    font-size: 12px;
    color: var(--color-ink-4);
    font-style: italic;
  }


  .fx-rep {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 3px;
    border-radius: 99px;
    border: 1px solid var(--color-line);
    background: var(--color-surface);
  }
  .fx-rep__btn {
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border: 0;
    background: none;
    border-radius: 99px;
    color: var(--color-ink-3);
    transition: all 0.2s;
  }
  .fx-rep__btn:hover { background: var(--color-ok-soft); color: var(--color-ok); transform: scale(1.12); }
  .fx-rep__btn--down:hover { background: var(--color-danger-soft); color: var(--color-danger); }
  .fx-rep__val {
    font-family: var(--font-mono);
    font-size: 13px;
    font-weight: 700;
    color: var(--color-ink-2);
    min-width: 24px;
    text-align: center;
    transition: transform 0.25s ease, color 0.25s ease;
  }
  .fx-rep__val.is-bump { transform: scale(1.35); color: var(--color-ok); }


  .fx-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 1px;
    background: var(--color-line-soft);
    border-radius: var(--radius-md);
    overflow: hidden;
    border: 1px solid var(--color-line-soft);
  }
  .fx-stats__cell {
    background: var(--color-surface);
    padding: 14px 16px;
    transition: background 0.25s;
  }
  .fx-stats__cell:hover { background: var(--color-surface-2); }
  .fx-stats__val {
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--color-ink);
    line-height: 1;
    font-variant-numeric: tabular-nums;
  }
  .fx-stats__val em { font-style: normal; color: var(--color-brand); }
  .fx-stats__key {
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-ink-4);
    margin-top: 7px;
  }


  .fx-online__row { display: flex; align-items: baseline; gap: 8px; font-size: 13px; }
  .fx-online__users { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; }
  .fx-online__user {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px 3px 4px;
    border-radius: 10px;
    border: 1px solid var(--color-line-soft);
    background: var(--color-surface-2);
    font-size: 12px;
    color: var(--color-ink-2);
    transition: all 0.2s;
  }
  .fx-online__user:hover { border-color: var(--color-brand); transform: translateY(-1px); }
  .fx-pulse {
    width: 7px;
    height: 7px;
    border-radius: 99px;
    background: var(--color-ok);
    position: relative;
    flex-shrink: 0;
  }
  .fx-pulse::after {
    content: "";
    position: absolute;
    inset: -4px;
    border-radius: 99px;
    border: 1.5px solid var(--color-ok);
    animation: fx-pulse 2.4s ease-out infinite;
  }
  @keyframes fx-pulse {
    0% { transform: scale(0.6); opacity: 0.9; }
    100% { transform: scale(1.5); opacity: 0; }
  }


  .fx-table { width: 100%; border-collapse: separate; border-spacing: 0; }
  .fx-table th {
    text-align: left;
    padding: 10px 14px;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-ink-3);
    background: var(--color-surface-3);
    border-bottom: 1px solid var(--color-line);
    white-space: nowrap;
    font-weight: 700;
  }
  .fx-table td {
    padding: 11px 14px;
    border-bottom: 1px solid var(--color-line-soft);
    font-size: 14px;
    color: var(--color-ink-2);
    vertical-align: middle;
  }
  .fx-table tbody tr { transition: background 0.18s; }
  .fx-table tbody tr:hover { background: var(--color-surface-2); }
  .fx-table__user { display: flex; align-items: center; gap: 10px; }
  .fx-table__num { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }


  .fx-field { display: grid; gap: 7px; }
  .fx-label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--color-ink-3);
  }
  .fx-input, .fx-textarea {
    width: 100%;
    padding: 11px 13px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-sm);
    background: var(--color-surface-2);
    color: var(--color-ink);
    font-size: 14px;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
  }
  .fx-input:focus, .fx-textarea:focus {
    outline: none;
    background: var(--color-surface);
    border-color: var(--color-brand);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand) 15%, transparent);
  }
  .fx-textarea { resize: vertical; min-height: 120px; line-height: 1.65; }
  .fx-hint { font-size: 12px; color: var(--color-ink-4); }

  .fx-editor {
    border: 1px solid var(--color-line);
    border-radius: var(--radius-lg);
    background: var(--color-surface);
    box-shadow: var(--shadow-card);
    overflow: hidden;
  }
  .fx-editor__bar {
    display: flex;
    gap: 3px;
    flex-wrap: wrap;
    padding: 8px;
    background: var(--color-surface-3);
    border-bottom: 1px solid var(--color-line-soft);
  }
  .fx-editor__btn-aa { font-weight: 700; font-size: 13px; line-height: 1; }
  .fx-editor__btn-aa small { font-size: 9px; font-weight: 700; }
  .fx-editor__btn {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border: 1px solid transparent;
    border-radius: var(--radius-xs);
    background: none;
    color: var(--color-ink-3);
    font-family: var(--font-mono);
    font-size: 12px;
    font-weight: 700;
    transition: all 0.18s;
  }
  .fx-editor__btn:hover { background: var(--color-surface); color: var(--color-brand); border-color: var(--color-line); transform: translateY(-1px); }
  .fx-editor__sep { width: 1px; background: var(--color-line); margin: 4px 5px; }
  .fx-editor__area { padding: 14px; }
  .fx-grow > .fx-field + .fx-editor__compose { margin-top: 12px; }
  .fx-editor__compose {
    border: 1px solid var(--color-line);
    border-radius: var(--radius-sm);
    background: var(--color-surface-2);
    overflow: hidden;
    transition: border-color 0.2s, box-shadow 0.2s;
  }
  .fx-editor__compose.is-pop-open { overflow: visible; }
  .fx-editor__compose:focus-within {
    border-color: var(--color-brand);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand) 15%, transparent);
  }
  .fx-editor__compose .fx-editor__bar {
    border: 0;
    border-bottom: 1px solid var(--color-line-soft);
    background: var(--color-surface-3);
  }
  .fx-editor__compose .fx-textarea {
    border: 0;
    border-radius: 0;
    background: var(--color-surface-2);
    box-shadow: none;
  }
  .fx-editor__compose .fx-textarea:focus {
    border-color: transparent;
    background: var(--color-surface-2);
    box-shadow: none;
  }
  .fx-editor__foot {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    background: var(--color-surface-2);
    border-top: 1px solid var(--color-line-soft);
    flex-wrap: wrap;
  }


  .fx-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--color-line); flex-wrap: wrap; }
  .fx-tabs__item {
    position: relative;
    padding: 10px 15px;
    border: 0;
    background: none;
    font-size: 14px;
    font-weight: 600;
    color: var(--color-ink-3);
    transition: color 0.2s;
  }
  .fx-tabs__item::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: var(--color-brand);
    transform: scaleX(0);
    transition: transform 0.26s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .fx-tabs__item:hover { color: var(--color-ink); }
  .fx-tabs__item.is-active { color: var(--color-brand-deep); }
  [data-theme="dark"] .fx-tabs__item.is-active { color: var(--color-brand); }
  .fx-tabs__item.is-active::after { transform: scaleX(1); }


  .fx-callout {
    display: flex;
    gap: 12px;
    padding: 13px 15px;
    border-radius: var(--radius-md);
    border: 1px solid var(--color-line);
    border-left-width: 3px;
    background: var(--color-surface-2);
    font-size: 14px;
    color: var(--color-ink-2);
  }
  .fx-callout--info { border-left-color: var(--color-brand); background: var(--color-brand-soft); }
  .fx-callout--ok { border-left-color: var(--color-ok); background: var(--color-ok-soft); }
  a.fx-callout { display: flex; text-decoration: none; }
  a.fx-callout:hover { filter: brightness(0.98); }
  .fx-callout--warn { border-left-color: var(--color-warn); background: var(--color-accent-soft); }
  .fx-callout--danger { border-left-color: var(--color-danger); background: var(--color-danger-soft); }
  .fx-callout__icon { flex-shrink: 0; margin-top: 1px; }


  .fx-hit {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 14px;
    padding: 15px 17px;
    border-bottom: 1px solid var(--color-line-soft);
    transition: background 0.2s;
  }
  .fx-hit:hover { background: var(--color-surface-2); }
  .fx-hit:last-child { border-bottom: 0; }
  .fx-hit__title { font-size: 15px; font-weight: 600; color: var(--color-ink); }
  .fx-hit__title:hover { color: var(--color-brand); }
  .fx-hit__path { font-size: 12px; color: var(--color-ink-4); font-family: var(--font-mono); margin-top: 3px; }
  .fx-hit__snip { font-size: 13px; color: var(--color-ink-3); margin-top: 7px; }
  .fx-hit__snip mark {
    background: color-mix(in srgb, var(--color-accent) 26%, transparent);
    color: var(--color-ink);
    padding: 0 3px;
    border-radius: 3px;
    font-weight: 600;
  }
  .fx-hit__foot { display: flex; gap: 14px; margin-top: 9px; font-size: 12px; color: var(--color-ink-4); }
  .fx-yandex-mark { color: var(--color-danger); font-weight: 700; }
  .fx-yandex-frame { display: block; width: 100%; height: 70vh; min-height: 520px; border: 0; border-radius: 12px; background: #fff; }


  .fx-meter { display: block; height: 6px; border-radius: 99px; background: var(--color-surface-3); overflow: hidden; }
  .fx-meter__fill {
    height: 100%;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--color-brand), var(--color-accent));
    transform-origin: left;
    animation: fx-grow 1.1s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  @keyframes fx-grow { from { transform: scaleX(0); } }


  .fx-specgrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 14px;
  }
  .fx-specgrid--wide { grid-template-columns: minmax(0, 1fr); }
  .fx-spec {
    border: 1px solid var(--color-line);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    overflow: hidden;
    transition: border-color 0.25s, box-shadow 0.25s, transform 0.25s;
  }
  .fx-spec:hover { border-color: color-mix(in srgb, var(--color-brand) 40%, var(--color-line)); box-shadow: var(--shadow-card); transform: translateY(-2px); }
  .fx-spec__head {
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: space-between;
    padding: 9px 13px;
    background: var(--color-surface-2);
    border-bottom: 1px solid var(--color-line-soft);
    font-size: 13px;
    font-weight: 600;
    color: var(--color-ink-2);
  }
  .fx-spec__head code {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--color-brand-deep);
    background: var(--color-brand-soft);
    padding: 2px 8px;
    border-radius: var(--radius-xs);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 60%;
  }
  .fx-spec__demo {
    padding: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    background-image: radial-gradient(color-mix(in srgb, var(--color-ink) 7%, transparent) 1px, transparent 1px);
    background-size: 14px 14px;
  }
  .fx-spec__demo--stack { display: block; }
  .fx-spec__note {
    padding: 8px 13px;
    border-top: 1px dashed var(--color-line);
    font-size: 12px;
    color: var(--color-ink-4);
  }
  .fx-swatch {
    flex: 1 1 84px;
    min-width: 84px;
    border-radius: var(--radius-sm);
    overflow: hidden;
    border: 1px solid var(--color-line);
    background: var(--color-surface);
  }
  .fx-swatch__color { height: 46px; }
  .fx-swatch__label { padding: 6px 8px; font-family: var(--font-mono); font-size: 10px; color: var(--color-ink-3); }
  .fx-iconcell {
    display: grid;
    place-items: center;
    gap: 6px;
    padding: 12px 6px;
    border: 1px solid var(--color-line-soft);
    border-radius: var(--radius-sm);
    background: var(--color-surface);
    color: var(--color-ink-2);
    font-family: var(--font-mono);
    font-size: 10px;
    text-align: center;
    transition: all 0.2s ease;
  }
  .fx-iconcell:hover {
    color: var(--color-brand);
    border-color: var(--color-brand);
    transform: translateY(-2px);
    box-shadow: var(--shadow-card);
  }
  .fx-type__sample { line-height: 1.25; }


  .fx-searchlayout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 22px;
    align-items: start;
  }
  @media (max-width: 1040px) {
    .fx-searchlayout { grid-template-columns: minmax(0, 1fr); }
  }

  .fx-authlayout { width: 100%; margin-inline: auto; }
  .fx-auth { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
  .fx-auth__form { padding: 28px; }
  .fx-auth__side {
    padding: 28px;
    border-left: 1px solid var(--color-line-soft);
    background: linear-gradient(180deg, var(--color-surface-2), var(--color-surface));
  }
  .fx-auth-benefits__icon { display: none; }
  html[data-known-user="1"] .fx-auth-benefits--known-collapse {
    display: flex;
    flex-direction: column;
  }
  html[data-known-user="1"] .fx-auth-benefits--known-collapse .fx-auth-benefits__content { display: none; }
  html[data-known-user="1"] .fx-auth-benefits--known-collapse .fx-auth-benefits__icon {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    color: var(--color-ink);
    opacity: 0.1;
    pointer-events: none;
  }
  .fx-auth-benefits__icon svg { width: 200px; height: 200px; }
  @media (max-width: 900px) {
    .fx-auth { grid-template-columns: minmax(0, 1fr); }
    .fx-auth__side { border-left: 0; border-top: 1px solid var(--color-line-soft); }
    .fx-auth__form, .fx-auth__side { padding: 22px; }
  }

  .fx-captcha {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 13px 15px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-md);
    background: var(--color-surface-2);
    transition: border-color 0.25s, background 0.25s, transform 0.25s;
  }
  .fx-captcha:hover { border-color: var(--color-ink-4); }
  .fx-captcha.is-ok {
    border-color: color-mix(in srgb, var(--color-ok) 55%, transparent);
    background: var(--color-ok-soft);
  }
  .fx-captcha__box {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    border: 2px solid var(--color-ink-4);
    border-radius: 6px;
    background: var(--color-surface);
    color: #fff;
    transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
  }
  .fx-captcha.is-ok .fx-captcha__box {
    background: var(--color-ok);
    border-color: var(--color-ok);
    transform: scale(1.06);
  }


  .fx-profile__cover {
    position: relative;
    height: 104px;
    background:
      radial-gradient(520px 150px at 14% 120%, color-mix(in srgb, var(--color-brand) 60%, transparent), transparent 70%),
      radial-gradient(420px 140px at 88% -20%, color-mix(in srgb, var(--color-accent) 45%, transparent), transparent 72%),
      linear-gradient(110deg, var(--color-ink), color-mix(in srgb, var(--color-brand) 60%, var(--color-ink)));
  }
  .fx-profile__cover::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
      linear-gradient(to right, rgba(255, 255, 255, 0.07) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(255, 255, 255, 0.07) 1px, transparent 1px);
    background-size: 26px 26px;
    mask-image: linear-gradient(to bottom, #000, transparent);
  }
  .fx-profile__top {
    display: flex;
    gap: 22px;
    align-items: flex-end;
    padding: 0 22px 22px;
    margin-top: -38px;
    position: relative;
  }
  .fx-profile__top > .fx-avatar {
    border: 4px solid var(--color-surface);
    box-shadow: var(--shadow-card);
  }
  .fx-profile__rep {
    text-align: right;
    padding-left: 22px;
    border-left: 1px solid var(--color-line-soft);
    flex-shrink: 0;
  }
  @media (max-width: 880px) {
    .fx-profile__top { flex-direction: column; align-items: stretch; gap: 16px; }
    .fx-profile__top > .fx-avatar { width: 72px; height: 72px; }
    .fx-profile__rep { text-align: left; padding-left: 0; border-left: 0; border-top: 1px solid var(--color-line-soft); padding-top: 14px; }
  }


  .fx-footer {
    margin-top: 40px;
    border-top: 1px solid var(--color-line);
    background: color-mix(in srgb, var(--color-surface) 72%, transparent);
    backdrop-filter: blur(6px);
  }
  .fx-footer__grid {
    display: grid;
    grid-template-columns: 1.4fr repeat(3, 1fr);
    gap: 28px;
    padding: 34px 0 26px;
  }
  @media (max-width: 860px) { .fx-footer__grid { grid-template-columns: 1fr 1fr; } }
  .fx-footer__title {
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-ink-4);
    margin-bottom: 12px;
    font-weight: 700;
  }
  .fx-footer__links { display: grid; gap: 8px; }
  .fx-footer__links a, .fx-footer__links button {
    background: none;
    border: 0;
    padding: 0;
    text-align: left;
    font-size: 14px;
    color: var(--color-ink-2);
    transition: color 0.2s, transform 0.2s;
  }
  .fx-footer__links a:hover, .fx-footer__links button:hover { color: var(--color-brand); transform: translateX(3px); }
  .fx-footer__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    padding: 14px 0 82px;
    border-top: 1px solid var(--color-line-soft);
    font-size: 13px;
    color: var(--color-ink-4);
  }


  .fx-dock {
    position: fixed;
    left: 50%;
    bottom: 18px;
    z-index: 80;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px;
    border-radius: 99px;
    border: 1px solid var(--color-line);
    background: color-mix(in srgb, var(--color-surface) 88%, transparent);
    backdrop-filter: blur(12px);
    box-shadow: var(--shadow-pop);
    max-width: calc(100vw - 24px);
    overflow-x: auto;
    scrollbar-width: none;
  }
  .fx-dock::-webkit-scrollbar { display: none; }
  .fx-dock__label {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-ink-4);
    padding: 0 10px 0 8px;
    white-space: nowrap;
  }
  .fx-dock__item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 13px;
    border-radius: 99px;
    border: 1px solid transparent;
    background: none;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-ink-3);
    white-space: nowrap;
    transition: all 0.22s ease;
  }
  .fx-dock__item:hover { color: var(--color-ink); background: var(--color-surface-3); }
  .fx-dock__item.is-active {
    background: var(--color-ink);
    color: var(--color-paper);
    box-shadow: 0 6px 16px -10px rgba(0, 0, 0, 0.8);
  }
  [data-theme="dark"] .fx-dock__item.is-active { background: var(--color-brand); color: #06171d; }
  .fx-dock__key {
    font-family: var(--font-mono);
    font-size: 10px;
    opacity: 0.55;
  }
  @media (max-width: 700px) { .fx-dock__label { display: none; } }


  [data-theme="dark"] .fx-btn--primary,
  [data-theme="dark"] .fx-topic__icon--new,
  [data-theme="dark"] .fx-topic__icon--pin { color: #06171d; }


  .fx-reveal {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1), transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: var(--fx-d, 0ms);
  }
  .fx-reveal.is-in { opacity: 1; transform: none; }

  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
      animation-duration: 0.01ms !important;
      transition-duration: 0.01ms !important;
    }
    .fx-reveal { opacity: 1; transform: none; }
  }


  .fx-row { display: flex; align-items: center; gap: 10px; }
  .fx-row--wrap { flex-wrap: wrap; }
  .fx-row--between { justify-content: space-between; }
  .fx-col { display: grid; gap: 10px; }
  .fx-grow { flex: 1; min-width: 0; }
  .fx-muted { color: var(--color-ink-3); }
  .fx-dim { color: var(--color-ink-4); }
  .fx-mono { font-family: var(--font-mono); }
  .fx-num { font-family: var(--font-display); font-variant-numeric: tabular-nums; letter-spacing: -0.02em; }
  .fx-hr { border: 0; border-top: 1px solid var(--color-line-soft); margin: 16px 0; }
  .fx-truncate { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .fx-dot { width: 4px; height: 4px; border-radius: 99px; background: var(--color-ink-4); flex-shrink: 0; }

.fx-ticker { display: inline-block; transition: opacity 0.26s ease, transform 0.26s ease; }
.fx-ticker.is-out { opacity: 0; transform: translateY(5px); }

.fx-theme-toggle .i-sun { display: none; }
[data-theme="dark"] .fx-theme-toggle .i-sun { display: block; }
[data-theme="dark"] .fx-theme-toggle .i-moon { display: none; }

.fx-burger .i-close { display: none; }
.fx-burger.is-active .i-menu { display: none; }
.fx-burger.is-active .i-close { display: block; }

.fx-captcha__box svg { opacity: 0; transition: opacity 0.2s ease; }
.fx-captcha.is-ok .fx-captcha__box svg { opacity: 1; }

.fx-profile__cover {
  background:
    radial-gradient(520px 150px at 14% 120%, color-mix(in srgb, #2f8fae 62%, transparent), transparent 70%),
    radial-gradient(420px 140px at 88% -20%, color-mix(in srgb, #e0a04a 36%, transparent), transparent 72%),
    linear-gradient(110deg, #0b1e26, #16455c 130%);
}
.fx-profile__top { flex-wrap: wrap; align-items: stretch;}
.fx-profile__top .fx-pagehead__title { color: #fff; }

.fx-profile__rep {
  width: max-content;
  max-width: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.fx-profile__rep .fx-stats__val { font-size: clamp(24px, 2.4vw, 34px); white-space: nowrap; }
@media (max-width: 880px) { .fx-profile__rep { width: auto; } }

.fx-auth-toggle .i-user { display: none; }
html[data-auth="user"] .fx-auth-toggle .i-guest { display: none; }
html[data-auth="user"] .fx-auth-toggle .i-user { display: block; color: var(--color-ok); }

.fx-user { display: flex; align-items: center; gap: 8px; }
.fx-user--auth { display: none; position: relative; }
html[data-auth="user"] .fx-user--auth { display: flex; }
html[data-auth="user"] .fx-user--guest { display: none; }

.fx-topbar__pm { display: none; position: relative; width: 34px; height: 34px; color: var(--color-ink-2); }
html[data-auth="user"] .fx-topbar__pm { display: inline-grid; }
.fx-topbar__pm-badge {
  position: absolute; top: 2px; right: 1px;
  min-width: 16px; height: 16px; padding: 0 4px;
  border-radius: 9px; background: var(--color-accent); color: #fff;
  font-size: 10px; font-weight: 700; line-height: 16px; text-align: center;
  box-shadow: 0 0 0 2px var(--color-surface);
}

.fx-userbtn {
  display: flex; align-items: center; gap: 9px;
  padding: 5px 11px 5px 6px; border-radius: 13px;
  border: 1px solid var(--color-line); background: var(--color-surface-2);
  transition: border-color 0.15s ease, background 0.15s ease;
}
.fx-userbtn:hover { border-color: color-mix(in srgb, var(--color-brand) 45%, var(--color-line)); background: var(--color-surface-3); }
.fx-userbtn .fx-avatar { width: 28px; height: 28px; border-radius: 9px; font-size: 12px; }
.fx-userbtn__meta { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.2; }
.fx-userbtn__name { font-size: 13px; font-weight: 600; color: var(--color-ink); }
.fx-userbtn__role { font-size: 10px; letter-spacing: 0.07em; text-transform: uppercase; color: var(--color-ink-4); }
.fx-userbtn__chev { color: var(--color-ink-4); transition: transform 0.18s ease; }
.fx-user.is-open .fx-userbtn__chev { transform: rotate(180deg); }

.fx-usermenu {
  position: absolute; top: calc(100% + 10px); right: 0; z-index: 70;
  width: 240px; padding: 6px;
  background: var(--color-surface); border: 1px solid var(--color-line);
  border-radius: 14px; box-shadow: var(--shadow-pop);
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s;
}
.fx-usermenu::before {
  content: ""; position: absolute; top: -5px; right: 20px;
  width: 9px; height: 9px; transform: rotate(45deg);
  background: var(--color-surface);
  border-left: 1px solid var(--color-line); border-top: 1px solid var(--color-line);
}
.fx-user.is-open .fx-usermenu { opacity: 1; visibility: visible; transform: none; }
.fx-usermenu__item {
  display: flex; align-items: center; gap: 10px; width: 100%;
  padding: 9px 10px; border-radius: 9px;
  font-size: 14px; font-weight: 500; color: var(--color-ink-2); text-align: left;
  transition: background 0.12s ease, color 0.12s ease;
}
.fx-usermenu__item svg { color: var(--color-ink-4); flex-shrink: 0; }
.fx-usermenu__item:hover { background: var(--color-surface-2); color: var(--color-ink); }
.fx-usermenu__item:hover svg { color: var(--color-brand); }
.fx-usermenu__count {
  margin-left: auto; min-width: 18px; height: 18px; padding: 0 5px;
  display: inline-grid; place-items: center; border-radius: 9px;
  background: var(--color-accent-soft); color: var(--color-accent);
  font-size: 11px; font-weight: 700;
}
.fx-usermenu__sep { height: 1px; margin: 6px 4px; background: var(--color-line-soft); }
.fx-usermenu__item--exit { color: #d96a5b; }
.fx-usermenu__item--exit svg { color: #d96a5b; }
.fx-usermenu__item--exit:hover { background: color-mix(in srgb, #d96a5b 12%, transparent); color: #d96a5b; }

.fx-usermenu__exitform { margin: 0; }
.fx-usermenu__exitform .fx-usermenu__item {
  border: 0; background: none; cursor: pointer;
  font-family: inherit; font-size: 14px; font-weight: 500; line-height: inherit;
  appearance: none; -webkit-appearance: none;
}

@media (max-width: 1080px) {
  .fx-userbtn { padding: 4px; gap: 0; border-radius: 11px; }
  .fx-userbtn__meta, .fx-userbtn__chev { display: none; }
}

.fx-spec__demo .fx-user--guest { display: flex !important; }




  .fx-inputwrap {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
  }
  .fx-inputwrap__icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    display: grid;
    color: var(--color-ink-4);
    pointer-events: none;
  }
  .fx-inputwrap__icon--sm { left: 10px; }
  .fx-input--lg {
    height: 48px;
    font-size: 16px;
    border-radius: var(--radius-md);
  }




  .fx-input:not(textarea):not(.fx-textarea) {
    height: 38px;
    box-sizing: border-box;
    padding-top: 0;
    padding-bottom: 0;
  }
  .fx-select {
    height: 38px;
    box-sizing: border-box;
    background-position: calc(100% - 15px) 17px, calc(100% - 10px) 17px;
  }
  .fx-input--sm:not(textarea):not(.fx-textarea),
  .fx-select--sm {
    height: 31px;
    font-size: 13px;
    padding: 0 10px;
    border-radius: var(--radius-xs, 6px);
  }
  .fx-select--sm { background-position: calc(100% - 12px) 13px, calc(100% - 8px) 13px; padding-right: 26px; }
  .fx-input--sm { padding: 0 10px; }

  .fx-inputwrap input.fx-input { width: 100%; padding-left: 44px; }
  .fx-inputwrap input.fx-input--sm { padding-left: 36px; }
  .fx-input--lg:not(textarea):not(.fx-textarea) { height: 48px; padding-top: 0; padding-bottom: 0; }
  .fx-toolbar { align-items: center; }
  .fx-toolbar .fx-select { height: 31px; background-position: calc(100% - 12px) 13px, calc(100% - 8px) 13px; }
  .fx-table .fx-btn--sm,
  .fx-table .fx-input:not(textarea):not(.fx-textarea),
  .fx-table .fx-select { height: 32px; }
  .fx-table .fx-select { background-position: calc(100% - 12px) 13px, calc(100% - 8px) 13px; }





  .u-d-block { display:block; }
  .u-d-flex { display:flex; }
  .u-d-grid { display:grid; }
  .u-pos-relative { position:relative; }


  .u-fl-1 { flex:1; }
  .u-fl-2 { flex:2; }
  .u-fdir-column { flex-direction:column; }
  .u-wrap { flex-wrap:wrap; }
  .u-ai-center { align-items:center; }
  .u-ai-flex-start { align-items:flex-start; }
  .u-ai-flex-end { align-items:flex-end; }
  .u-ai-stretch { align-items:stretch; }
  .u-jc-flex-end { justify-content:flex-end; }
  .u-gc-2col { grid-template-columns:1fr 1fr; }


  .u-ov-hidden { overflow:hidden; }
  .u-overflow-x-auto { overflow-x:auto; }


  .u-gap-14px { gap:14px; }
  .u-gap-12px { gap:12px; }
  .u-gap-16px { gap:16px; }
  .u-gap-7px { gap:7px; }
  .u-gap-11px { gap:11px; }
  .u-gap-10px { gap:10px; }
  .u-gap-8px { gap:8px; }
  .u-gap-5px { gap:5px; }
  .u-gap-9px { gap:9px; }
  .u-gap-6px { gap:6px; }
  .u-rowgap-10px { row-gap:10px; }


  .u-mb-0 { margin-bottom:0; }
  .u-mb-10px { margin-bottom:10px; }
  .u-mb-12px { margin-bottom:12px; }
  .u-mb-14px { margin-bottom:14px; }
  .u-mb-16px { margin-bottom:16px; }
  .u-mb-18px { margin-bottom:18px; }
  .u-mb-6px { margin-bottom:6px; }
  .u-mb-9px { margin-bottom:9px; }
  .u-ml-7px { margin-left:7px; }
  .u-ml-8px { margin-left:8px; }
  .u-ml-auto { margin-left:auto; }
  .u-mr-6px { margin-right:6px; }
  .u-mt-0 { margin-top:0; }
  .u-mt-10px { margin-top:10px; }
  .u-mt-12px { margin-top:12px; }
  .u-mt-14px { margin-top:14px; }
  .u-mt-16px { margin-top:16px; }
  .u-mt-18px { margin-top:18px; }
  .u-mt-20px { margin-top:20px; }
  .u-mt-22px { margin-top:22px; }
  .u-mt-3px { margin-top:3px; }
  .u-mt-4px { margin-top:4px; }
  .u-mt-6px { margin-top:6px; }
  .u-mt-8px { margin-top:8px; }
  .u-pad-x-14px { padding:0 14px; }
  .u-pad-x-2px { padding:0 2px; }
  .u-padb-100px { padding-bottom:100px; }
  .u-padl-36px { padding-left:36px; }


  .u-fs-11px { font-size:11px; }
  .u-fs-12px { font-size:12px; }
  .u-fs-13px { font-size:13px; }
  .u-fs-14px { font-size:14px; }
  .u-fs-15px { font-size:15px; }
  .u-fs-28px { font-size:28px; }
  .u-fs-fluid-22-32 { font-size:clamp(22px,2.9vw,32px); }
  .u-fs-fluid-22-30 { font-size:clamp(22px,3vw,30px); }
  .u-fs-fluid-26-40 { font-size:clamp(26px,3.6vw,40px); }
  .u-fw-600 { font-weight:600; }
  .u-fw-700 { font-weight:700; }
  .u-font-display { font-family:var(--font-display); }
  .u-ta-left { text-align:left; }
  .u-ta-center { text-align:center; }
  .u-ta-right { text-align:right; }
  .u-tt-uppercase { text-transform:uppercase; }
  .u-ls-08em { letter-spacing:.08em; }
  .u-ws-normal { white-space:normal; }
  .u-ws-nowrap { white-space:nowrap; }

  .u-cur-pointer { cursor:pointer; }
  .u-tf-rotate-180 { transform:rotate(180deg); }
  .u-pad-24px-24px-22px { padding:24px 24px 22px; }
  .u-pad-34px { padding:34px; }


  .u-c-ink { color:var(--color-ink); }
  .u-c-ink-3 { color:var(--color-ink-3); }
  .u-c-ink-4 { color:var(--color-ink-4); }
  .u-c-ok { color:var(--color-ok); }
  .u-c-accent { color:var(--color-accent); }
  .u-c-inherit { color:inherit; }
  .u-op-60 { opacity:.6; }
  .u-op-90 { opacity:.9; }
  .u-ac-brand { accent-color:var(--color-brand); }


  .u-br-0 { border-radius:0; }
  .u-br-9px { border-radius:9px; }
  .u-br-10px { border-radius:10px; }
  .u-br-11px { border-radius:11px; }
  .u-bdl-0 { border-left:0; }
  .u-bdr-0 { border-right:0; }
  .u-bdt-0 { border-top:0; }
  .u-bd-1px-line { border:1px solid var(--color-line); }
  .u-bg-none { background:none; }
  .u-bg-surface { background:var(--color-surface); }


  .u-h-22px { height:22px; }
  .u-h-26px { height:26px; }
  .u-h-30px { height:30px; }
  .u-h-34px { height:34px; }
  .u-h-36px { height:36px; }
  .u-h-38px { height:38px; }
  .u-h-5px { height:5px; }
  .u-maxw-40ch { max-width:40ch; }
  .u-minh-100vh { min-height:100vh; }
  .u-minh-150px { min-height:150px; }
  .u-minw-0 { min-width:0; }
  .u-minw-180px { min-width:180px; }
  .u-minw-220px { min-width:220px; }
  .u-minw-240px { min-width:240px; }
  .u-minw-300px { min-width:300px; }
  .u-minw-320px { min-width:320px; }
  .u-minw-372px { min-width:372px; }
  .u-w-100 { width:100%; }
  .u-w-130px { width:130px; }
  .u-w-150px { width:150px; }
  .u-w-16px { width:16px; }
  .u-w-200px { width:200px; }
  .u-w-220px { width:220px; }
  .u-w-260px { width:260px; }
  .u-w-26px { width:26px; }
  .u-w-280px { width:280px; }
  .u-w-30px { width:30px; }
  .u-w-320px { width:320px; }
  .u-w-34px { width:34px; }
  .u-w-36px { width:36px; }
  .u-w-38px { width:38px; }
  .u-w-5px { width:5px; }
  .u-w-100px { width:100px; }
  .u-w-90px { width:90px; }


  .u-padl-42px { padding-left:42px;}


.fx-totop {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 80;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  border: 1px solid var(--color-line);
  background: var(--color-surface);
  color: var(--color-ink-2);
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity .2s ease, transform .2s ease, background .15s ease, color .15s ease;
}
.fx-totop.is-on {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.fx-totop:hover {
  color: var(--color-brand);
  border-color: var(--color-brand);
}
@media (max-width: 640px) {
  .fx-totop { right: 12px; bottom: 12px; width: 40px; height: 40px; }
}

/* Профиль: репутация на тёмной обложке */
.fx-profile__rep .fx-stats__val em { color: #fff; }
@media (max-width: 880px) {
  [data-theme="light"] .fx-profile__top .fx-pagehead__title { color: var(--color-ink); }
  .fx-profile__rep .fx-stats__val em { color: var(--color-accent); }
}

/* Сообщение только из смайликов */
.fx-prose .fx-smilies-only {
  font-size: 40px;
  line-height: 1.35;
}

/* Панель отладки администратора */
.fx-debug {
  position: fixed;
  right: 14px;
  bottom: 14px;
  z-index: 95;
  width: min(900px, calc(100vw - 28px));
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--color-ink);
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: 12px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.22);
}
.fx-debug__summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  padding: 8px 12px;
  cursor: pointer;
  list-style: none;
}
.fx-debug__summary::-webkit-details-marker { display: none; }
.fx-debug__title { font-weight: 700; font-family: var(--font-sans, inherit); }
.fx-debug__badge {
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--color-surface-2);
  font-size: 11px;
  white-space: nowrap;
}
.fx-debug__badge.is-bad { background: var(--color-danger-soft); color: var(--color-danger); }
.fx-debug__body {
  max-height: calc(70vh - 56px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 10px 12px;
  border-top: 1px solid var(--color-line);
}
.fx-debug__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  color: var(--color-ink-3);
  margin-bottom: 8px;
}
.fx-debug__section { margin-top: 8px; border-top: 1px dashed var(--color-line); padding-top: 6px; }
.fx-debug__section > summary { cursor: pointer; font-weight: 600; }
.fx-debug__sub { margin: 8px 0 4px; color: var(--color-ink-3); font-weight: 600; }
.fx-debug__table { width: 100%; border-collapse: collapse; }
.fx-debug__table th,
.fx-debug__table td {
  text-align: left;
  vertical-align: top;
  padding: 3px 6px;
  border-bottom: 1px solid var(--color-line-soft);
}
.fx-debug__num { white-space: nowrap; text-align: right; }
.fx-debug__queries { margin: 6px 0 0; padding-left: 18px; display: grid; gap: 4px; }
.fx-debug__queries li { display: flex; gap: 8px; align-items: flex-start; }
.fx-debug__queries code,
.fx-debug__sql,
.fx-debug__slow code { white-space: pre-wrap; word-break: break-word; }
.fx-debug__ms { min-width: 64px; text-align: right; color: var(--color-ink-3); white-space: nowrap; }
.fx-debug__queries li.is-slow .fx-debug__ms { color: var(--color-danger); font-weight: 700; }
.fx-debug__slow { list-style: none; margin: 4px 0 8px; padding: 0; display: grid; gap: 6px; }
.fx-debug__slow li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px; align-items: start; }
.fx-debug__dl {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 4px 12px;
  margin: 6px 0;
}
.fx-debug__dl dt { color: var(--color-ink-3); }
.fx-debug__dl dd { margin: 0; }
.fx-debug__muted { color: var(--color-ink-3); }
.fx-debug__error {
  margin: 4px 0;
  padding: 6px 8px;
  border-radius: 6px;
  background: var(--color-danger-soft);
  color: var(--color-danger);
}
@media (max-width: 640px) {
  .fx-debug { right: 8px; left: 8px; bottom: 8px; width: auto; }
  .fx-debug__body { max-height: calc(60vh - 56px); }
}

/* Админка: очередь парсинга */
.fx-parse-fields {
  display: grid;
  gap: 14px;
  align-items: start;
}
.fx-parse-fields--main { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(240px, 1.3fr); }
.fx-parse-fields--users { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fx-parse-fields .fx-select {
  width: 100%;
  height: 38px;
  background-position: calc(100% - 15px) 17px, calc(100% - 10px) 17px;
}
@media (max-width: 860px) {
  .fx-parse-fields--main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .fx-parse-fields--main,
  .fx-parse-fields--users { grid-template-columns: minmax(0, 1fr); }
}
.fx-parsed-item {
  display: grid;
  gap: 8px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--color-line-soft);
}
.fx-parsed-item:last-child { border-bottom: 0; }
.fx-parsed-item__head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.fx-parsed-item__title { font-size: 14px; color: var(--color-ink); }
.fx-parsed-item__details { margin-top: 2px; }
.fx-parsed-item__details summary { cursor: pointer; font-size: 13px; color: var(--color-ink-3); }
.fx-parsed-item__label {
  margin-top: 12px;
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-ink-4);
}
.fx-parsed-item__text {
  white-space: normal;
  font-size: 15px;
  line-height: 1.65;
  color: var(--color-ink-2);
}
.fx-parsed-item__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 6px;
  padding-top: 14px;
  border-top: 1px solid var(--color-line-soft);
}
@media (max-width: 640px) {
  .fx-parsed-item__actions { justify-content: flex-start; }
}
