    .compat-notice {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      padding: 14px 18px;
      background: var(--color-warning-bg);
      border: 1px solid #fde68a;
      border-radius: var(--radius-sm);
      margin-bottom: 20px;
      font-size: 0.85rem;
      line-height: 1.5;
      color: #92400e;
    }
    .compat-notice .compat-icon {
      font-size: 1.1rem;
      flex-shrink: 0;
      margin-top: 1px;
    }
    .compat-notice a {
      color: #b45309;
      font-weight: 600;
      text-decoration: underline;
      text-underline-offset: 2px;
    }
    .compat-notice a:hover {
      color: #92400e;
    }
    .error-message {
      padding: 16px 20px;
      background: var(--color-error-bg);
      border: 1px solid #fecaca;
      border-radius: var(--radius-sm);
      color: #991b1b;
      font-size: 0.9rem;
      line-height: 1.6;
      margin-top: 16px;
    }
    .error-message strong {
      display: block;
      margin-bottom: 4px;
    }
    .batch-file-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin-top: 16px;
    }
    .batch-file-item {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 10px 14px;
      background: var(--color-bg);
      border: 1px solid var(--color-border-light);
      border-radius: var(--radius-sm);
      font-size: 0.85rem;
    }
    .batch-file-item .thumb {
      width: 40px;
      height: 40px;
      border-radius: 4px;
      object-fit: cover;
      background: var(--color-border-light);
      flex-shrink: 0;
    }
    .batch-file-item .file-info {
      flex: 1;
      min-width: 0;
    }
    .batch-file-item .file-name {
      font-weight: 500;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .batch-file-item .file-meta {
      font-family: var(--font-mono);
      font-size: 0.75rem;
      color: var(--color-text-muted);
      margin-top: 2px;
    }
    .batch-file-item .remove-btn {
      background: none;
      border: none;
      cursor: pointer;
      color: var(--color-text-muted);
      font-size: 1.1rem;
      padding: 2px 6px;
      border-radius: 4px;
      transition: all var(--transition-fast);
    }
    .batch-file-item .remove-btn:hover {
      background: var(--color-error-bg);
      color: var(--color-error);
    }
    .batch-results {
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin-top: 16px;
    }
    .batch-result-item {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 12px 16px;
      background: var(--color-bg);
      border: 1px solid var(--color-border-light);
      border-radius: var(--radius-sm);
    }
    .batch-result-item .name {
      flex: 1;
      font-weight: 500;
      font-size: 0.85rem;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .batch-result-item .meta {
      font-family: var(--font-mono);
      font-size: 0.75rem;
      color: var(--color-text-muted);
    }
    .batch-result-item .savings {
      font-family: var(--font-mono);
      font-size: 0.75rem;
      color: var(--color-success);
      font-weight: 600;
    }
    .batch-result-item .dl-btn {
      padding: 6px 14px;
      background: var(--color-primary);
      color: white;
      border: none;
      border-radius: 6px;
      cursor: pointer;
      font-size: 0.8rem;
      font-weight: 600;
      font-family: var(--font-body);
      transition: background var(--transition-fast);
    }
    .batch-result-item .dl-btn:hover {
      background: var(--color-primary-hover);
    }
    .batch-result-item.error-item {
      border-color: #fecaca;
      background: var(--color-error-bg);
    }
