/* Общий контракт побеждает старые локальные !important, в том числе мобильные.
 * Модули отвечают за расположение; размеры и состояния действий задаются здесь.
 * Исключения для содержимого и оставшиеся приоритеты описаны в UI-STANDARD.md.
 */
@layer core-controls {
  #morpheus input[type='range'] {
    accent-color: var(--accent);
  }
  :root {
    --ui-card-bg: var(--surface);
    --ui-card-border: var(--line);
    --ui-card-radius: 8px;
    --ui-control-size: 30px;
    --ui-control-font: 13px;
    --ui-control-radius: 6px;
    --ui-control-gap: 6px;
    --ui-control-bg: #1e2125;
    --ui-control-hover: #2a2e34;
    --ui-control-border: var(--line);
    --ui-control-icon: 16px;
  }
  :where(
    .wave-card,
    .wave-quick-item,
    .trophy-card,
    .anime-card,
    .reader-book,
    .cinema-card,
    .gallery-card,
    .article-card,
    .project-card
  ) {
    background: var(--surface-highlight), var(--ui-card-bg) !important;
    border: 1px solid var(--ui-card-border) !important;
    border-radius: var(--ui-card-radius) !important;
    box-shadow: none !important;
    color: var(--text) !important;
  }
  :where(
    .wave-card,
    .wave-quick-item,
    .trophy-card,
    .anime-card,
    .reader-book,
    .cinema-card,
    .gallery-card,
    .article-card,
    .project-card
  ):is(:hover, :focus-visible) {
    border-color: var(--line-strong) !important;
  }
  :where(
    .wave-card,
    .wave-quick-item,
    .trophy-card,
    .anime-card,
    .reader-book,
    .cinema-card,
    .gallery-card,
    .article-card,
    .project-card
  ):is(
    [aria-selected='true'],
    [aria-pressed='true'],
    [aria-current='page'],
    .selected,
    .is-active
  ) {
    border-color: var(--accent) !important;
  }
  @media (max-width: 800px) {
    :root {
      --ui-control-size: 32px;
    }
  }
  /* Обложки сохраняют геометрию содержимого вместо размеров кнопок действий. */
  .home-track-play[data-ui='surface'] {
    position: relative;
    display: block !important;
    flex: 0 0 40px;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 4px !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden;
    cursor: pointer;
  }
  .home-track-play[data-ui='surface'] .home-media-art {
    display: grid;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    overflow: hidden;
    background: transparent;
  }
  .home-track-play[data-ui='surface'] .home-media-art img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 0;
    border-radius: 0;
  }
  :where(
    button:not(
      .reader-book-open,
      .article-card,
      .gallery-card,
      .project-card,
      .trophy-card,
      .wave-card,
      .wave-player-art,
      .wave-player-info,
      .wave-track-start,
      .wave-track-title,
      .kb-card-title,
      .kb-text-button,
      .storage-folder-open,
      .workspace-user,
      .trophy-day,
      [data-ui='surface']
    ),
    .ui-button,
    .install-btn,
    .login-btn,
    .storage-upload,
    .reader-upload,
    .content-upload,
    .audio-download,
    .reader-toolbar > a,
    .trophy-tabs > a,
    #waveNav > a,
    .storage-menu > summary,
    .home-actions-menu > summary
  ) {
    appearance: none !important;
    box-sizing: border-box !important;
    display: inline-flex;
    align-items: center !important;
    justify-content: center !important;
    gap: var(--ui-control-gap) !important;
    min-height: var(--ui-control-size) !important;
    height: var(--ui-control-size) !important;
    min-width: var(--ui-control-size) !important;
    max-width: 100% !important;
    padding: 0 10px !important;
    border: 1px solid var(--ui-control-border) !important;
    border-radius: var(--ui-control-radius) !important;
    background: var(--ui-control-bg) !important;
    color: var(--text) !important;
    box-shadow: none !important;
    font: 500 var(--ui-control-font) / 18px var(--sans) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-decoration: none !important;
    text-align: center !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
    cursor: pointer !important;
    touch-action: manipulation;
    transition:
      background-color 0.12s,
      border-color 0.12s,
      color 0.12s !important;
    transform: none !important;
  }
  :where(
      button:not(
        .reader-book-open,
        .article-card,
        .gallery-card,
        .project-card,
        .trophy-card,
        .wave-card,
        .wave-player-art,
        .wave-player-info,
        .wave-track-start,
        .wave-track-title,
        .kb-card-title,
        .kb-text-button,
        .storage-folder-open,
        .workspace-user,
        .trophy-day,
        [data-ui='surface']
      ),
      .ui-button,
      .install-btn,
      .login-btn,
      .storage-upload,
      .reader-upload,
      .content-upload,
      .audio-download,
      .reader-toolbar > a,
      .trophy-tabs > a,
      #waveNav > a,
      .storage-menu > summary,
      .home-actions-menu > summary
    )
    > svg {
    width: var(--ui-control-icon) !important;
    height: var(--ui-control-icon) !important;
    flex: none !important;
    pointer-events: none;
  }
  :where(
    [data-ui-icon],
    .ui-button--icon,
    .ui-action-icon,
    .kb-icon,
    .vpn-icon-button,
    .reader-card-edit,
    .chat-icon,
    .dialog-close,
    .core-screen-close,
    .wave-favorite,
    .wave-track-menu,
    .storage-menu > summary,
    .home-actions-menu > summary,
    .audio-play,
    .audio-download,
    .workspace-logout,
    .reveal,
    #waveCreate,
    #waveUploadButton,
    #waveEditRelease,
    #waveMix,
    #wavePlay,
    #cinemaAdd,
    #readerEdit,
    #readerPrev,
    #readerNext,
    #waveFavorite,
    #waveToggle,
    #waveNext,
    #wavePrev,
    #waveClose,
    #waveExpand,
    #waveShuffle,
    #waveRepeat,
    .storage-delete,
    #hubUpdateRefresh,
    #nodeUpdateRefresh,
    #waveMinimize
  ) {
    width: var(--ui-control-size) !important;
    min-width: var(--ui-control-size) !important;
    max-width: var(--ui-control-size) !important;
    height: var(--ui-control-size) !important;
    min-height: var(--ui-control-size) !important;
    padding: 0 !important;
    flex: 0 0 var(--ui-control-size) !important;
  }
  :where(.dialog-close, .core-screen-close) {
    font-size: 22px !important;
    font-weight: 400 !important;
  }
  :where(
    .ui-button--primary,
    .settings-primary,
    .balance-primary,
    button[type='submit']:not(.ui-download)
  ) {
    background: var(--accent-soft) !important;
    color: var(--accent) !important;
    border-color: rgba(var(--accent-rgb), 0.55) !important;
  }
  :where(
    button:not(
      .reader-book-open,
      .article-card,
      .gallery-card,
      .project-card,
      .trophy-card,
      .wave-card,
      .wave-player-art,
      .wave-player-info,
      .wave-track-start,
      .wave-track-title,
      .kb-card-title,
      .kb-text-button,
      .storage-folder-open,
      .workspace-user,
      .trophy-day,
      [data-ui='surface']
    ),
    .ui-button,
    .install-btn,
    .login-btn,
    .storage-upload,
    .reader-upload,
    .content-upload,
    .audio-download,
    .reader-toolbar > a,
    .trophy-tabs > a,
    #waveNav > a,
    .storage-menu > summary,
    .home-actions-menu > summary
  ):is(
    [aria-pressed='true'],
    [aria-selected='true'],
    [aria-current]:not([aria-current='false']),
    .is-active
  ) {
    background: var(--button-active) !important;
    color: var(--accent) !important;
    border-color: var(--accent) !important;
  }
  :where(
    .ui-button--danger,
    .storage-danger,
    .chat-danger,
    .balance-danger,
    button[aria-label^='Удалить'],
    button[title^='Удалить'],
    button[data-rule-remove],
    #readerDelete,
    #readerDeleteConfirm
  ) {
    background: var(--ui-control-bg) !important;
    color: var(--red) !important;
    border-color: color-mix(in srgb, var(--red) 45%, var(--line)) !important;
  }
  @media (hover: hover) {
    :where(
        button:not(
          .reader-book-open,
          .article-card,
          .gallery-card,
          .project-card,
          .trophy-card,
          .wave-card,
          .wave-player-art,
          .wave-player-info,
          .wave-track-start,
          .wave-track-title,
          .kb-card-title,
          .kb-text-button,
          .storage-folder-open,
          .workspace-user,
          .trophy-day,
          [data-ui='surface']
        ),
        .ui-button,
        .install-btn,
        .login-btn,
        .storage-upload,
        .reader-upload,
        .content-upload,
        .audio-download,
        .reader-toolbar > a,
        .trophy-tabs > a,
        #waveNav > a,
        .storage-menu > summary,
        .home-actions-menu > summary
      ):not(:disabled):not([aria-disabled='true']):hover {
      background: var(--ui-control-hover) !important;
      border-color: var(--line-strong) !important;
    }
    :where(
        button:not(
          .reader-book-open,
          .article-card,
          .gallery-card,
          .project-card,
          .trophy-card,
          .wave-card,
          .wave-player-art,
          .wave-player-info,
          .wave-track-start,
          .wave-track-title,
          .kb-card-title,
          .kb-text-button,
          .storage-folder-open,
          .workspace-user,
          .trophy-day,
          [data-ui='surface']
        ),
        .ui-button,
        .install-btn,
        .login-btn,
        .storage-upload,
        .reader-upload,
        .content-upload,
        .audio-download,
        .reader-toolbar > a,
        .trophy-tabs > a,
        #waveNav > a,
        .storage-menu > summary,
        .home-actions-menu > summary
      ):is(
        [aria-pressed='true'],
        [aria-selected='true'],
        [aria-current]:not([aria-current='false'])
      ):hover {
      background: var(--button-active) !important;
      border-color: var(--accent) !important;
    }
  }
  :where(
      button:not(
        .reader-book-open,
        .article-card,
        .gallery-card,
        .project-card,
        .trophy-card,
        .wave-card,
        .wave-player-art,
        .wave-player-info,
        .wave-track-start,
        .wave-track-title,
        .kb-card-title,
        .kb-text-button,
        .storage-folder-open,
        .workspace-user,
        .trophy-day,
        [data-ui='surface']
      ),
      .ui-button,
      .install-btn,
      .login-btn,
      .storage-upload,
      .reader-upload,
      .content-upload,
      .audio-download,
      .reader-toolbar > a,
      .trophy-tabs > a,
      #waveNav > a,
      .storage-menu > summary,
      .home-actions-menu > summary
    ):not(:disabled):not([aria-disabled='true']):active {
    background: var(--button-active) !important;
  }
  :where(
    button:not(
      .reader-book-open,
      .article-card,
      .gallery-card,
      .project-card,
      .trophy-card,
      .wave-card,
      .wave-player-art,
      .wave-player-info,
      .wave-track-start,
      .wave-track-title,
      .kb-card-title,
      .kb-text-button,
      .storage-folder-open,
      .workspace-user,
      .trophy-day,
      [data-ui='surface']
    ),
    .ui-button,
    .install-btn,
    .login-btn,
    .storage-upload,
    .reader-upload,
    .content-upload,
    .audio-download,
    .reader-toolbar > a,
    .trophy-tabs > a,
    #waveNav > a,
    .storage-menu > summary,
    .home-actions-menu > summary
  ):focus-visible {
    outline: 1px solid var(--accent) !important;
    outline-offset: 1px !important;
  }
  :where(
    button:not(
      .reader-book-open,
      .article-card,
      .gallery-card,
      .project-card,
      .trophy-card,
      .wave-card,
      .wave-player-art,
      .wave-player-info,
      .wave-track-start,
      .wave-track-title,
      .kb-card-title,
      .kb-text-button,
      .storage-folder-open,
      .workspace-user,
      .trophy-day,
      [data-ui='surface']
    ),
    .ui-button,
    .install-btn,
    .login-btn,
    .storage-upload,
    .reader-upload,
    .content-upload,
    .audio-download,
    .reader-toolbar > a,
    .trophy-tabs > a,
    #waveNav > a,
    .storage-menu > summary,
    .home-actions-menu > summary
  ):is(:disabled, [aria-disabled='true']) {
    opacity: 0.45 !important;
    cursor: not-allowed !important;
  }
  :where(
    button:not(
      .reader-book-open,
      .article-card,
      .gallery-card,
      .project-card,
      .trophy-card,
      .wave-card,
      .wave-player-art,
      .wave-player-info,
      .wave-track-start,
      .wave-track-title,
      .kb-card-title,
      .kb-text-button,
      .storage-folder-open,
      .workspace-user,
      .trophy-day,
      [data-ui='surface']
    ),
    .ui-button,
    .install-btn,
    .login-btn,
    .storage-upload,
    .reader-upload,
    .content-upload,
    .audio-download,
    .reader-toolbar > a,
    .trophy-tabs > a,
    #waveNav > a,
    .storage-menu > summary,
    .home-actions-menu > summary
  )[aria-busy='true'] {
    cursor: progress !important;
  }
  :where(
    button:not(
      .reader-book-open,
      .article-card,
      .gallery-card,
      .project-card,
      .trophy-card,
      .wave-card,
      .wave-player-art,
      .wave-player-info,
      .wave-track-start,
      .wave-track-title,
      .kb-card-title,
      .kb-text-button,
      .storage-folder-open,
      .workspace-user,
      .trophy-day,
      [data-ui='surface']
    ),
    .ui-button,
    .install-btn,
    .login-btn,
    .storage-upload,
    .reader-upload,
    .content-upload,
    .audio-download,
    .reader-toolbar > a,
    .trophy-tabs > a,
    #waveNav > a,
    .storage-menu > summary,
    .home-actions-menu > summary
  )[hidden] {
    display: none !important;
  }
  :where(.ui-button--wrap, .update-target) {
    height: auto !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    padding: 6px 10px !important;
  }
  :where(.update-target) {
    display: grid !important;
    text-align: left !important;
  }
  #updateTargets .update-target {
    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
    flex: 0 0 180px !important;
    padding: 7px 10px !important;
  }

  :where(
    .ui-actions,
    .vpn-actions,
    .server-actions,
    .dialog-actions,
    .ui-dialog-actions,
    .core-question-actions,
    .balance-actions,
    .chat-actions,
    .security-actions,
    .trophy-sync-actions,
    .appearance-actions,
    .console-server-actions,
    .hub-update-actions,
    .node-update-actions
  ) {
    gap: var(--ui-control-gap) !important;
    align-items: center;
  }
  :where(.ui-actions) {
    display: flex;
    flex-wrap: wrap;
  }
  :where(.trophy-tabs, .vpn-tabs) {
    gap: var(--ui-control-gap) !important;
  }
  #waveNav > a:not([hidden]) {
    display: flex !important;
  }
  @media (min-width: 801px) {
    #waveNav > a {
      width: 100% !important;
      min-width: 0 !important;
      justify-self: stretch;
    }
  }
  :where(.ui-icon, .ui-control-icon, .wave-control-icon) {
    stroke-width: 1.75 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }
  .wave-track-play .ui-control-icon {
    width: 16px;
    height: 16px;
  }
  .wave-liked-art .ui-control-icon {
    width: 45%;
    height: 45%;
  }
  .ui-control-icon {
    fill: none !important;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  [data-ui-icon='heart'][aria-pressed='true'] .ui-control-icon {
    fill: currentColor !important;
  }
  :where(#waveShuffle, #waveRepeat)::after {
    content: none;
  }
  :where(
      .content-toolbar,
      .reader-toolbar,
      .storage-toolbar,
      .projects-toolbar,
      .kb-tools,
      .wave-toolbar,
      .trophy-search-row,
      .anime-toolbar,
      .rt-toolbar
    )
    > :where(
      input:not([type='checkbox']):not([type='radio']):not([type='file']),
      select:not([multiple])
    ) {
    height: var(--ui-control-size) !important;
    min-height: var(--ui-control-size) !important;
    border-radius: var(--ui-control-radius) !important;
  }
  #wavePlayer:not(.expanded) .wave-player-row {
    column-gap: var(--space-2);
  }
  @media (max-width: 650px) {
    html body.wave-shell #wavePlayer:not(.expanded) .wave-player-row {
      grid-template-columns: 36px minmax(0, 1fr) 36px 36px 36px !important;
    }
  }
  .kb-tools:has(> #kbBoard) {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: var(--space-2) !important;
  }
  .kb-tools > #kbBoard {
    width: 0 !important;
    min-width: 0 !important;
    flex: 1 1 0 !important;
  }
  @media (max-width: 800px) {
    .vpn-header-controls .vpn-tabs {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      padding-bottom: 2px !important;
    }
    .vpn-header-controls .vpn-tabs button {
      flex: 0 0 auto !important;
    }
  }
  /* Пункты меню занимают строку, даже когда содержат значок действия. */
  :where(.storage-menu, .home-actions-menu) > :where(div) > button {
    justify-content: flex-start !important;
  }
  @media (prefers-reduced-motion: reduce) {
    :where(
      button:not(
        .reader-book-open,
        .article-card,
        .gallery-card,
        .project-card,
        .trophy-card,
        .wave-card,
        .wave-player-art,
        .wave-player-info,
        .wave-track-start,
        .wave-track-title,
        .kb-card-title,
        .kb-text-button,
        .storage-folder-open,
        .workspace-user,
        .trophy-day,
        [data-ui='surface']
      ),
      .ui-button,
      .install-btn,
      .login-btn,
      .storage-upload,
      .reader-upload,
      .content-upload,
      .audio-download,
      .reader-toolbar > a,
      .trophy-tabs > a,
      #waveNav > a,
      .storage-menu > summary,
      .home-actions-menu > summary
    ) {
      transition: none !important;
    }
  }
  html[data-orbit-reduced='true']
    :where(
      button:not(
        .reader-book-open,
        .article-card,
        .gallery-card,
        .project-card,
        .trophy-card,
        .wave-card,
        .wave-player-art,
        .wave-player-info,
        .wave-track-start,
        .wave-track-title,
        .kb-card-title,
        .kb-text-button,
        .storage-folder-open,
        .workspace-user,
        .trophy-day,
        [data-ui='surface']
      ),
      .ui-button,
      .install-btn,
      .login-btn,
      .storage-upload,
      .reader-upload,
      .content-upload,
      .audio-download,
      .reader-toolbar > a,
      .trophy-tabs > a,
      #waveNav > a,
      .storage-menu > summary,
      .home-actions-menu > summary
    ) {
    transition: none !important;
  }
  /* Однострочные поля выровнены с действиями. Многострочные и составные поля
     сохраняют свою геометрию; размеры текстового поля не подходят чекбоксу. */
  :where(
    input:not(
      [type='checkbox'],
      [type='radio'],
      [type='range'],
      [type='color'],
      [type='file'],
      [type='hidden']
    ),
    select:not([multiple]):is(:not([size]), [size='0'], [size='1'])
  ):not(.workspace-search input, #hubQuery, [data-ui='inline-field']) {
    box-sizing: border-box !important;
    height: var(--ui-control-size) !important;
    min-height: var(--ui-control-size) !important;
    max-height: var(--ui-control-size) !important;
    padding-block: 0 !important;
    border-radius: var(--ui-control-radius) !important;
    font-family: var(--sans) !important;
    font-size: var(--ui-control-font) !important;
    line-height: normal !important;
    margin-block: 0 !important;
  }
  :where(input[type='checkbox']:not([role='switch']), input[type='radio']) {
    box-sizing: border-box !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    max-height: 16px !important;
    padding: 0 !important;
    margin: 0 !important;
    flex: 0 0 16px !important;
    vertical-align: middle !important;
  }
  :where(
    .ui-form-grid,
    .vpn-fields,
    .balance-form-grid,
    .chat-settings-grid,
    .server-form,
    .maintenance-row,
    .maintenance-target
  ) {
    align-items: end !important;
    row-gap: 10px !important;
  }
  :where(
      .ui-form-grid,
      .vpn-fields,
      .balance-form-grid,
      .chat-settings-grid,
      .server-form,
      .maintenance-row,
      .maintenance-target
    )
    > label {
    margin-block: 0 !important;
    min-width: 0;
  }
  :where(
      .ui-form-grid,
      .vpn-fields,
      .balance-form-grid,
      .chat-settings-grid,
      .server-form,
      .maintenance-row,
      .maintenance-target
    )
    > label:has(> input:is([type='checkbox'], [type='radio'])) {
    display: flex;
    align-items: center !important;
    align-self: end !important;
    min-height: var(--ui-control-size) !important;
    gap: var(--space-3) !important;
  }
  :where(.hub-search-field) {
    box-sizing: border-box;
    height: var(--ui-control-size) !important;
  }
  #hubQuery {
    height: calc(var(--ui-control-size) - 2px) !important;
    min-height: 0 !important;
    padding-block: 0 !important;
  }

  @media (max-width: 800px) {
    :where(
      input:not(
        [type='checkbox'],
        [type='radio'],
        [type='range'],
        [type='color'],
        [type='file'],
        [type='hidden']
      ),
      select:not([multiple]):is(:not([size]), [size='0'], [size='1'])
    ):not(.workspace-search input, #hubQuery, [data-ui='inline-field']) {
      font-size: 16px !important;
    }
  }

  /* Переключатель сохраняет размеры дорожки вместо размеров обычного чекбокса. */
  :where(input[type='checkbox'][role='switch']) {
    appearance: none !important;
    -webkit-appearance: none !important;
    box-sizing: border-box !important;
    position: relative;
    display: block;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;
    flex: 0 0 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid var(--line-strong) !important;
    border-radius: 999px !important;
    background: var(--track, var(--control-bg)) !important;
    cursor: pointer;
    transition:
      background-color 0.18s ease,
      border-color 0.18s ease;
  }
  :where(input[type='checkbox'][role='switch'])::before {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--text);
    transform: translateX(0);
    transition:
      transform 0.18s ease,
      background-color 0.18s ease;
  }
  :where(input[type='checkbox'][role='switch']):checked {
    background: var(--accent) !important;
    border-color: var(--accent) !important;
  }
  :where(input[type='checkbox'][role='switch']):checked::before {
    transform: translateX(14px);
    background: var(--bg);
  }
  :where(input[type='checkbox'][role='switch'])::after {
    content: none;
  }
  :where(input[type='checkbox'][role='switch']):disabled {
    opacity: 0.5;
    cursor: default;
  }
  :where(input[type='checkbox'][role='switch']):focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
  }
  @media (prefers-reduced-motion: reduce) {
    :where(input[type='checkbox'][role='switch']),
    :where(input[type='checkbox'][role='switch'])::before {
      transition: none;
    }
  }
  html[data-orbit-reduced='true'] :where(input[type='checkbox'][role='switch']),
  html[data-orbit-reduced='true'] :where(input[type='checkbox'][role='switch'])::before {
    transition: none;
  }
  .workspace-header .workspace-search-toggle {
    display: none !important;
  }
  @media (max-width: 800px) {
    .workspace-header .workspace-search-toggle {
      display: inline-flex !important;
      flex: none;
    }
  }
  :where(.workspace-search input, #hubQuery):focus-visible {
    outline: none !important;
    box-shadow: none !important;
  }
  :where(.workspace-search, .hub-search-field):focus-within {
    border-color: var(--accent) !important;
    box-shadow: none !important;
  }
  .pulse-history-legend button::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--accent);
    flex: none;
  }
  .pulse-history-legend .memory::before {
    background: var(--chart-memory);
  }
  .pulse-history-legend .disk::before {
    background: var(--chart-disk);
  }
  .pulse-history-legend [aria-pressed='false'] {
    opacity: 0.55 !important;
  }

  /* Размер папки определяется содержимым, а не контрактом компактных действий. */
  :where(.storage-app .storage-folder-open) {
    min-height: 76px !important;
    padding: 10px 40px 10px 10px !important;
  }

  #pulseServerPanel .console-tabs [role='tab'] {
    border-color: transparent !important;
    background: transparent !important;
    border-radius: 0 !important;
    color: var(--muted) !important;
  }
  #pulseServerPanel .console-tabs [role='tab'][aria-selected='true'] {
    color: var(--text) !important;
    border-bottom-color: var(--accent) !important;
    background: transparent !important;
  }
  :where([data-servers='pulse'] .server-tabs button) {
    min-width: 112px !important;
    height: var(--ui-control-size) !important;
    min-height: var(--ui-control-size) !important;
    justify-content: flex-start !important;
    padding: 0 10px !important;
    background: var(--surface) !important;
  }
  html body [data-servers='pulse'] .server-tabs button[aria-selected='true'] {
    background: var(--accent-soft) !important;
    border-color: var(--accent) !important;
    color: var(--text) !important;
  }
  :where(#companionClose) {
    position: static !important;
    inset: auto !important;
    float: none !important;
    width: var(--ui-control-size) !important;
    height: var(--ui-control-size) !important;
    min-height: var(--ui-control-size) !important;
    padding: 0 !important;
    flex: none;
  }
  /* Узкий iframe на ПК сохраняет размеры управления полноэкранного чата. */
  @media (hover: hover) and (pointer: fine) {
    html.chat-companion {
      --ui-control-size: 30px;
    }
    html.chat-companion #chatPage .chat-toolbar select {
      font-size: var(--ui-control-font) !important;
    }
  }
}

@media (hover: hover) and (pointer: fine) {
  .workspace-sidebar nav a:not([aria-current]):hover > span,
  .workspace-sidebar nav a.workspace-group-title:not([aria-current]):hover {
    color: var(--text);
  }
  /* Один компактный индикатор фокуса для полей, действий и карточек. */
  :where(
    button,
    a,
    summary,
    input,
    select,
    textarea,
    [tabindex],
    [contenteditable='true']
  ):focus-visible {
    outline: 1px solid var(--accent) !important;
    outline-offset: 1px !important;
    box-shadow: none !important;
  }
  :where(
    #chatComposer #chatInput,
    .workspace-search input,
    #hubQuery,
    .field-row input
  ):focus-visible {
    outline: none !important;
  }
  :where(.chat-copy) {
    --ui-control-size: 24px;
    --ui-control-font: 12px;
  }
  :where(.chat-code-head button) {
    --ui-control-size: 24px;
    --ui-control-font: 12px;
  }
}

.settings-sync-status {
  position: fixed;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10000;
  max-width: calc(100vw - 2rem);
  margin: 0;
  padding: 0.65rem 1rem;
  border: 1px solid var(--accent);
  border-radius: 0.6rem;
  background: var(--surface-solid, #101113);
  color: var(--text, #eee);
  font-size: 0.8rem;
}
